Java例外の処理
Java例外の処理
Javaでは、エラーによりThrowableクラスが継承されたExceptionクラスとErrorクラスに分類されます.エラー発生時には実行時にエラーが投げ出されますが、Exception(例外)はtry-catchで制御できます.
try{
throw new Exception("의도된 예외");
}catch(Exception e){
e.printStackTrace(); // 예외가 발생한 콜스택 정보 출력
System.out.println(e.getMessage()); // 예외 이름 출력
}
tryで例外が発生した場合、catchブロックは一致する例外を検索します.照合例外がない場合は、実行時にエラーが発生します.照合エラーがある場合は、プロセスを終了することなく、対応するcatchブロックで例外を処理します.Multi Catch Exception
1つのcatchブロックで複数の例外を処理するには、例外を「|」にマージします.ただし、継承関係のエラーは一緒に使用できません.相互に関係のない例外の間でのみ使用できます.
try{
if(n%2 == 0 ){
System.out.println(1/0);
}
else{
throw new NullPointerException();
}
}catch (ArithmeticException | NullPointerException e){
e.printStackTrace();
}
Method Exception - Throws
Java異常処理がうんざりする原因.メソッドでthrowsを使用して例外を宣言すると、そのメソッドを使用する場所で例外処理が強制されます.例外処理を行わないとコンパイル時に切り取られるので、例外処理が必要です.
public void method1(){
try{
method2();
}catch (Exception e){
System.out.println(e.getMessage() + " : 에러처리를 method1에서 완료");
}
}
public void method2() throws Exception{
throw new Exception("에러처리를 method1에 위임");
}
異常を投げ出すthrowと、異常が発生する可能性があることを通知するthrowsを区別しなければならない.接続の例外
例外が発生した場合は、親例外の原因として指定し、渡すことができます.たとえば、インストール中に「仮想例外」(SpaceException)と「メモリException」が発生した場合、それらを「Exceptionのインストール」として処理する場合は、それらを接続できます.
Exception.InitCause()を使用して、例外の原因を指定できます.
public void install() throws Exception{
try{
throw new SpaceException("의도된 예외");
}catch (SpaceException | MemoryException ex){
InstallException e = new InstallException();
e.initCause(ex);
throw e;
}
}
public void installFile(){
try{
install();
}catch (Exception e){
e.printStackTrace();
}
}
Referenceジャワの晶石、南宮城沢
Reference
この問題について(Java例外の処理), 我々は、より多くの情報をここで見つけました https://velog.io/@tkppp-dev/자바-예외처리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol