Обычно при программировании, необходимо только поймать определенное исключение (такой как IOException
). В большом количестве программ Вы видите очень верхний уровень
try {
...
} catch(Exception e) {
...
}
, Который фиксирует все ошибки, которые могли быть исправимыми и все те, которые указывают на ошибку в Вашем коде, например, InvalidArgumentException
, NullPointerException
. Можно тогда автоматически послать электронное письмо, отобразить окно сообщения или независимо от того, что Вам нравится, так как сам JavaVM все еще хорошо работает.
Все произошло от Error
, что-то очень плохо, Вы ничего не можете сделать против. Вопрос, если имеет смысл ловить OutOfMemoryError
или VirtualMachineError
. (Это - ошибка в самом JavaVM, вероятно, Вы не можете даже отобразить окно сообщения или послать электронное письмо тогда)
, Вы должны, вероятно, не класс, полученный от Error
, необходимо произойти от Exception
или RuntimeException
.
В прошлом у меня был успех с Apache MINA ( http://mina.apache.org/ ). Начать работу было довольно просто, а производительность довольно приличная.