2013-04-25 2 views
0

Ниже приведен код обработки исключений, который обрабатывает все исключения, вызванные приложением, включая время выполнения.Общая обработка исключений

 public static void handleException(String strMethodName, 
        Exception ex) throws CustomException{ 
      String strMessage = ""; 
      try { 
       throw ex; 
      } 
      catch (NullPointerException npe){ 
       logger.log(pr, strMethodName, npe.getMessage()); 
       strMessage=ERR_02; 
       throw new CustomException(strMessage); 
      } 
      catch(IndexOutOfBoundsException iobe) { 
       logger.logMethodException(strMethodName,iobe.getMessage()); 
       strMessage=ERR_03; 
       throw new CustomException(strMessage); 
      } 
      ... So On 
    } 

Ниже приведены некоторые из недостатков, которые я думаю:

  1. Для idenitify первопричину исключения, мы должны будем всегда проверять строки сообщений. не
  2. Нет sepearation типа исключений

Преимущество:

  1. Меньше кода. (Код можно свести к минимуму)

Не могли бы вы сообщить мне, следует ли мне идти с таким механизмом или нет.

ответ

1

Не уверен, что вы используете код.

В своем подходе, вы не Повторное выбрасывание объекта исключения, который может быть использован для отладки

public static void handleException(String strMethodName, 
        Throwable th){ 
      String strMessage = ""; 
      try { 
       throw th; 
      } 
      catch (Throwable thr){ 
       logger.log(pr, strMethodName, npe.getMessage()); 
       //get the appropriate error code from a method 
       strMessage=getErrorCode(); 
       throw new CustomException(strMessage, th); 
       //CustomException is of type RuntimeException 
      } 
    } 

ловли и «Метание» Throwable объекта вы уверены, что даже ошибки обрабатываются должным образом. [Важно не подавлять Throwable object]

Смежные вопросы