내 응용 프로그램에서 발생한 예외의 세부 정보 (예 : 예외의 행 번호)를 표시하려고합니다. 이것이 가능한가?내 응용 프로그램에서 발생한 예외에 대한 자세한 내용을 보려면 어떻게해야합니까?
4
A
답변
7
예. 다음 예제에서 stackTraceElement에 예외에 대한 많은 정보가 있습니다.
지정이 방법
private static String getExceptionDetails(Activity act, Exception e) {
StackTraceElement[] stackTraceElement = e.getStackTrace();
String fileName = "";
String methodName = "";
int lineNumber = 0;
try {
String packageName = act.getApplicationInfo().packageName;
for (int i = 0; i < stackTraceElement.length; i++) {
if (stackTraceElement[i].getClassName().startsWith(packageName))
{
fileName = stackTraceElement[i].getFileName();
methodName = stackTraceElement[i].getMethodName();
lineNumber = stackTraceElement[i].getLineNumber();
break;
}
}
} catch (Exception e2) {
}
return fileName + ":" + methodName + "():line "
+ String.valueOf(lineNumber);
}
2
-1
체크 -
exception.getMessage()
2
exception.printStackTrace()
라인 번호 및 예외를 생성 한 메소드 이름을 보여준다.
+0
이 문자열에서 줄 번호를 따로 얻는 것이 어렵다는 것을 언급했습니다. – pick
0
사용 시도의 catch 블록은
try{
// here add your code
}catch(Exception e){
Log.e("error",e.toString());
}
당신은 Exception을 로그 할 수 있으며 전체 스택 트레이스를 출력 할 것입니다. –
stackTraceElement에는 많은 정보가 있습니다. 그는 그것을 사용자 정의 할 수 있습니다. – breceivemail