Uncaught Exception
入る前に。
Exceptionはerrorとは異なります.
システムレベルエラー:error
開発者レベルでエラー:exception
Exception
RunTime Exception
を基準として、checked
、unchecked
の例外に分けられる.チェック
ではUncatch execpeptionとは何ですか?
try-catch
を用いる異常処理예외 전파
度しかし、異常処理を一切行わないとどうなりますか?
public class MainClass {
public static void main(String[] args) {
int[] arr = new int[10];
arr[21]= 10;
}
}
このときエラーメッセージが表示され、エラー処理が行われず、エラーメッセージを撮影します.ArrayIndexOutOfBoundsException
理由は。Uncaught Exception Handler
正解はjava Threadクラスの
UncaughtExceptionHandler
というHandlerがデフォルトで登録されているHandlerで残りのエラーを処理することです.UncaughtExceptionHandler
が別途設定されていない場合、javaで基本的に定義されたUncaughtExceptionHandler
が実行されます.上記の
DefaultUncaughtExceptionHandler
を直接定義して使用することもできる.上記のプロセッサにより、異常が発生したスレッドのスタックトラッキング全体、スレッド名、異常が発生した関数のスタックトラッキング、エラーメッセージ、エラーが発生したクラス名、メソッド名、ファイル名などを得ることができる.
またjavaデバッグ構成部品データがまだ存在する場合は、エラーが発生した行番号も取得できます.(構成部品データがデバッグされていない場合は、Unknownが表示されます.)
上で定義したハンドルを使用して登録します.
Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler());
Reference
https://semtax.tistory.com/81
https://www.nextree.co.kr/p3239/
Reference
この問題について(Uncaught Exception), 我々は、より多くの情報をここで見つけました https://velog.io/@woga1999/Uncaught-Exceptionテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol