1.例外チェーンがJavaコンストラクターに提供されています。つまり、コンストラクターを介して例外を例外チェーンに継続的に接続できます...
例外接続が必要な理由は、コードの理解と、読書とプログラムの保守性のためです...
例外を投げるたびに、キャッチを試す必要があることを知っています...それからコードは非常に肥大化していません...
例外を例外接続に連結できる場合、ラッピングの例外のみをキャッチするだけで、runtimeexceptionとその派生クラスは、キャッチを試すことなくJVMによって自動的にキャッチおよび処理できることがわかっています。
もちろん、runtimeexceptionから派生するように独自の例外クラスを定義し、1レベルのラッパーを渡すことができます。例外が表示された場合、JWMはカスタムruntimeexceptionを通じて直接出力します
(理由)は私たちの例外チェーンです...したがって、私たちの例外はすべて出力であり、これにより多くの例外処理コードが減少します。 。 。
スロー可能な--->例外runtimeexceptionエラーは、例外チェーンを実装する方法を構築するメカニズムを提供します。 。 。他の例外は、initaCausを通じて使用する必要があります
例外接続を構築します...
次のコードは、例外接続の簡単な例です。プログラム全体で発生する例外を印刷できます。 。
public class testt {public static void a()スロー例外{//例外をトップにして、優れたtry {b(); } catch(例外e){新しい例外をスロー(e); }} public static void b()throws exception {//例外をトップにして、優れたtry {c(); } catch(例外e){新しい例外をスロー(e); }} public static void c()throws exception {//例外を上回る優れたtryを処理する{新しいnullpointerexception( "c null pointer exception in exception Chain .."); } catch(nullpointerexception e){新しい例外をスロー(e); }} public static void main(string [] args){try {a(); } catch(Exception e){e.printstacktrace(); }}}2。キャッチを試してください...最後に脆弱性があります。これは例外です。たとえば、3つのトライキャッチが一緒にネストされています。内部の2つのトライキャッチはキャッチを省略できます....ついに直接ターンしてください。
次のコードを見ると、2つの例外情報が欠落していることがわかりました
public class mytest {public void open()throws exception {throw new Exception(){public string toString(){return this.getClass()。getName()+"ceryimmportexception"; }; }; } public void close()throws exception {throw new Exception(){public string toString(){return this.getClass()。 }; }; } public void three()throws Exception {throw new Exception(){public string toString(){return this.getClass()。getName() + "3"; }; }; }; } public static void main(string [] agrs){mytest mt = new mytest(); try {try {try {mt.open(); }最後に{system.out.println( "delete open"); Mt.Close(); }}最後に{System.out.println( "delete close"); Mt.three(); }} catch(Exception ex){ex.printstacktrace(); }}}上記の記事では、Javaの例外チェーンと例外損失が私があなたと共有したすべてのコンテンツについて簡単に説明します。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。