Social Icons

.

вторник, 11 февраля 2014 г.

Где произошел Exception?

Часто весь стек исключения не нужен для вывода в логи. Иногда достаточно указать только метод, в котором это исключение произошло. Его можно прочитать из стека исключения. Это довольно медленно, но экономит место в лог файле и повышает его читаемость.


public class MyException extends Throwable {
 ...
 
 public String getTopStackPosition(){
  StringBuffer thePosition = new StringBuffer();
  StackTraceElement theElement[] = this.getStackTrace();
  if(theElement.length > 0){
   thePosition.append( theElement[0].getClassName() );
   thePosition.append( " Line:");
   thePosition.append( String.valueOf( theElement[0].getLineNumber() ) );
  }
  else thePosition.append( "unknown position");
  return thePosition.toString();
 }
 ...
}


Комментариев нет:

Отправить комментарий

 

Так говорил Учитель:

У хорошо написанной программы есть свой собственный рай, у плохо написанной — свой собственный ад.

Russian Developer

Взгляд его светел, усилия праведны, старания бесплодны, дело безнадежно ...