異常な補足とカスタム例外

カスタム例外

public class MyException extends ArithmeticException{
    private int detail;

    public MyException(int a){
        this.detail = a;
    }
//打印异常的信息
    @Override
    public String toString() {
        return "MyException{" +
                "detail=" + detail +
                '}';
    }
}
public class Test {
    static void test(int a){
        System.out.println("传递的参数是:"+ a);
        if(a > 10){
            throw new MyException(a);
        }
        System.out.println("OK");
    }
    public static void main(String[] args) {
        try{
            test(99);
        }catch (MyException e){
            System.out.println("MyException ===》》》" +e);
            e.printStackTrace();//实际上也调用toString方法了
        }
    }
}
结果:
    传递的参数是:99
    MyException ===》》》MyException{detail=99}
    MyException{detail=99}
	at InnerCLass.Test.test(Test.java:7)
	at InnerCLass.Test.main(Test.java:13)

異常使用経験

  • キャッチの試行処理を支援しながら、例外を回避するためのロジックの合理的な使用(古い犬として安定)
  • 複数のキャッチが使用されている場合、省略を防ぐために最後にキャッチ例外が追加されますキャッチアップとキル)
  • 異常なコードが生成されるかどうかわからない場合は、try catchを使用してください(できればエラーを強制終了するのではなく、強制終了してください)
  • ポットを他の人に捨てるのではなく、例外に対処するようにしてください。(あなた自身の問題を解決してください)
  • ビジネスニーズと例外の種類(地域の状況による)に基づいて例外を処理する方法
  • 最終的にブロックを追加して、占有されているリソースを解放してみてください。(たわごとなしでそのピットを占有することはできません)

おすすめ

転載: www.cnblogs.com/li33/p/12713400.html