Javaにおける異常(二)

1260 ワード

throwsとthrowの違い
throws
  • メソッド宣言の後に使用され、異常クラス名
  • が続く.
  • 複数の例外クラス名とカンマで
  • を区切ることができます.
  • は放出異常を示し、この方法の呼び出し者によって
  • を処理する.
    throw
  • はメソッド内に用いられ,異常対象名
  • に続く.
  • は、1つの例外オブジェクト名
  • しか放出できません.
  • は放出異常を表し、方法体内の文処理
  • によって
    finallyキーワードの特定と役割
    finallyの特徴
    finallyによって制御される文体は必ずtry・・catch・・finallyで実行される.
    特殊な場合:finallyが実行される前にjvmが終了しました(System.exit(0))
    finallyの役割
    リソースを解放するために使用され、IOフロー操作とデータベース操作で表示されます.
    final,finallyとfinalizeの違い:雷鋒と雷峰塔の関係
    finalはクラスを修飾することができて、継承することができなくて、方法を修飾して、書き換えることができなくて、変数を修飾して、一回だけfinallyを与えるのはtry文の中の1つの文体で、単独で使うことができなくて、資源finalizeを解放するのは1つの方法で、ごみ回収器がそのオブジェクトに対する更なる参照が存在しないことを確定する時、オブジェクトのごみ回収器がこの方法を呼び出します
    カスタム例外
    なぜカスタム例外が必要ですか?名前で区別するのはあくまで神馬異常で、的確な解決策があります.例えば、人の年齢
    class AgeOutOfBoundsException extends Exception {
        public AgeOutOfBoundsException() {
            super();
        }
        public AgeOutOfBoundsException(String message) {
            super(message);
        }
    }
    

    異常注意事項:
  • 子クラスが親メソッドを書き換える場合、子クラスのメソッドは同じ例外または親例外の子クラスを放出する必要があります.(父が悪いから、息子は父より悪いわけにはいかない)
  • 親が複数の例外を投げ出した場合、子が親を書き換えると、同じ例外またはそのサブセットしか投げ出すことができず、子は親にない例外
  • を投げ出すことができない.
  • 書き換えられた方法に異常がなければ、サブクラスの方法は絶対に異常を投げ出すことができず、サブクラスの方法内に異常が発生すれば、サブクラスはtryしかできず、throws
  • はできない.