Получить все исключения в приложении Java - PullRequest
1 голос
/ 09 января 2012

как получить все исключения в java-приложении (иметь несколько классов и пакетов) в одном месте?Пример: создать класс и получить все исключения для других классов приложения

Ответы [ 5 ]

3 голосов
/ 09 января 2012

Как уже указывалось, одна из опций - поместить основной метод в try-catch блок

public static void main( String[] args ){
  try{
    //regular main code
  } catch (Throwable e){
    //do exception handling
  }
}

Другая возможность - установить uncaughtExceptionHandler по умолчанию для Thread, которые вы используете сThread#setDefaultUncaughtExceptionHandler метод.

Обратите внимание, что оба решения позволяют вам «обрабатывать все исключения в одном месте», только если они не попадают в другие места вашего приложения

1 голос
/ 09 января 2012

Почему у вас просто нет класса ExceptionHandler с 2 функциями

void handleException(Exception e);
void handleThrowable(Throwable t);

и на каждом try{}catch(Exception e){} просто используйте ExceptionHandler.handleException(e);

Чтобы узнать, какое исключение выдается, используйте instanceof

Например,

if(e instanceof NullPointerException)
{
//whatver
}
0 голосов
/ 02 августа 2017

Вы можете использовать:

try {

//  block of code ...

} catch (исключение e) {

// Do something with e

}

0 голосов
/ 09 января 2012

Класс Исключение и его подклассы являются формой Throwable, которая указывает условия, которые разумное приложение может захотеть перехватить.

Если все ваши методы выдают исключение в основной вызывающий метод, товы можете перехватывать все исключения.

Иерархия классов исключений начинается с класса Throwable, который является базовым классом для всего семейства классов исключений, объявленных в java.lang package как java.lang.Throwable.

0 голосов
/ 09 января 2012

В вашем основном классе у вас может быть что-то вроде этого:

try { } catch (Exception ex) { }

В других ваших классах вы должны выбросить исключений, например:

public void example() throws Exception { }

Если вы выбросите исключения других классов, вы можете справиться с ними только в основном классе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...