main()
메소드가 다음과 같이 선언 될 때 JVM이 Exception
을 처리합니까?작성시 JVM이 예외를 처리합니까?
public static void main(String[] args) throws Exception {
// code here
}
main()
메소드가 다음과 같이 선언 될 때 JVM이 Exception
을 처리합니까?작성시 JVM이 예외를 처리합니까?
public static void main(String[] args) throws Exception {
// code here
}
예, 예외는 JVM에서 default exception handler으로 처리됩니다.
당신이 중 하나를 사용하여이 스레드의 행동, 스레드 그룹 또는 VM 수준을 변경할 수 있습니다: 간단한 예를 들어
Thread.setUncaughtExceptionhandler()
ThreadGroup.uncaughtException()
Thread.setDefaultUncaughtExceptionHandler()
:
public class Program {
public static void main(String[] args) {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.err.println("Uhhh something broke.");
}
});
int a = 5/0;
}
}
출력 :
Uhhh something broke.
정보를 제공해 주셔서 감사합니다. 모르겠습니다. – Killer
예, 사용자가 직접 호출하지 않는 한 스택 추적을 인쇄합니다. 이 경우, 당신은 그것을 처리합니다.
컴파일 할 예정입니까? – cHao
@cHao 예. – Kon
예, 컴파일됩니다. 경고 또는 오류 메시지가 컴파일러에서 제공되지 않았습니다. – Killer