try
{
myInfo = getMyInfoFromAPI(); //stubbed
}
catch (JsonSerializationException exception)
{
// special handling and logging
}
catch (Exception ex)
{
// special handling and logging
}
Такой код, на мой взгляд, довольно длинный и его можно разбить на отдельные функции. Можно ли переместить каждую ловушку в блок finally, где он сможет увидеть, есть ли что ловить?
try
{
myInfo = getMyInfoFromAPI(); //stubbed
}
finally {
handleJsonException();
handleException();
}
public void handleJsonException() {
catch (JsonSerializationException exception)
{
// special handling and logging
}
}
public void handleException() {
catch (Exception exception)
{
// special handling and logging
}
}
Возможно ли это или даже хорошая практика? Мне любопытно, можем ли мы переместить уловки в новые функции, потому что строки кода могут стать довольно длинными и нечитаемыми для одной данной функции.