dangerousMethodHandler()는 잘못된 인수 예외가 catch 될 때 StackTraceElement 배열에서 오류의 스택 추적을 인쇄합니다. 다른 유형의 예외의 경우 dangerousMethodHandler()가 "Exception!"을 인쇄합니다.스택 추적 요소 예외 인쇄
나는 현재 다른 예외를 정리했지만 나는 인쇄 할 때 내가
java.lang.Character.toChars(Character.java:4982)
내 출력해야 얻을 다음 StackTraceElemen 배열
public void dangerousMethod() {
Character.toChars(~0);
}
public void dangerousMethodHandler() {
try {
this.dangerousMethod();
}catch(IllegalArgumentException e){
StackTraceElement[] trace = e.getStackTrace();
e.getStackTrace();
System.err.println(trace[0].toString());
} catch (Exception e){
System.out.print("Exception!");
}
}
를 사용하여 내 코드를 구현하는 수없는 것 be :
java\.lang\.Character\.toChars\(Character\.java:\d+\)[\s\n]+Main\.dangerousMethod\(Main\.java:\d+\)[\s\n]+Main\.dangerousMethodHandler\(Main\.java:\d+\)[\s\n]+Main\.runTests\(Main\.java:\d+\)[\s\n]+Main\.main\(Main\.java:\d+\)
왜'printStackTrace (System.err)'를 사용하지 않으시겠습니까? – Killjoy1221
Main.java:11을 시도하면이 오류가 발생합니다. 기호 을 찾을 수 없습니다. printStackTrace (java.io.PrintStream) 메서드 위치 : 클래스 Main printStackTrace (System.err); –
내가 간다면 e.printStackTrace (System.err); 나는이 오류를 매우 가깝게 얻는다. java.lang.IllegalArgumentException \ x09at java.lang.Character.toChars (문자 .java : 4982) \ x09at Main.dangerousMethod (Main.java:18) \ x09at Main.dangerousMethodHandler Main.ain (Main.java:5) \ x09at Main.runTests (Main.java:26) \ x09at Main.main (Main.java:22) –