2016-03-19 33 views
0

によってどういう意味私は、エラーと例外の違いを理解しようとしているが、それは同じことを見て、Oracle Official tutorialsに、私はこの行を読んで。回復可能と非回復可能な例外やエラー

チェックされた例外は、キャッチまたは要件の対象となります。 Error、RuntimeException、およびそのサブクラスで示されるものを除き、すべての例外は例外をチェックします。今

私はそれは同じだと思っていますについて。しかし、さらに検索した後、私は理論的な違いを見つけました。

例外:回復不可能:回復可能

エラーがです。

例外例:

try{ 
    read file 
} 
catch(FileNotFoundException e){ 
// how I can recover here? can i create that file? 
// I think we can just make log file to continue or exit. 
} 

エラー例:

try{ 
     try to locate memory 
} 
catch(MemoryError e){ 
    // I think we can just make log file to continue or exit. 
} 

私が回復し、回復不能について聞いてるのよ を編集しました。

+0

[ジャワの可能性のある重複のこれらの種類から回復することはできません対未確認の例外の説明](http://stackoverflow.co m/questions/6115896/java-checked-vs-unchecked-exception-explanation) – hotzst

+0

@AndyTurner回復可能であるとはどういう意味ですか? – UnKnown

+0

@hotzstなぜ重複しますか?私の質問は回復可能で回復不可能なことです。 – UnKnown

答えて

2

エラーは、あなたがすでに理解しているように、あなたが深刻な問題に遭っていることを意味します。キャッチブロックでは、ロギングのようなことができるかもしれませんが、基本的にはそれです。

非回復可能な例外は、ほとんどが、彼らは通常、プログラムコード内のいくつか逃したチェックの結果であるNullPointerExceptionのような実行時例外です。したがって、通常は解決策はコードを修正することです。

回復可能な例外は、事前に発生して特定の対策を講じていることがわかっているものです。いくつかのバックエンドサービスを呼び出すWebアプリケーションを考えてみましょう。そのサービスが利用可能であるか利用できない可能性があり、操作の実行が失敗する可能性があります。したがって、チェックされた例外があります。このケースでは、カスタム例外が発生している可能性があります。フロントエンドコードで処理すると、ユーザーに申し訳ないバックエンドサービスxyがダウンしています。 。 Recoveralbeは、例外の原因を解決するためにアプリケーションが何らかの処理を実行できることを意味するものではありませんが、可能な場合があります。

+0

いいです。私が公式のチュートリアルから引用した線の平均は何ですか? – UnKnown

0

クラスはRuntimeExceptionからではなく、直接または間接的にExceptionクラスから継承するが、すべてのクラスはexceptions.Such例外は通常、プログラムの制御下にない条件によって引き起こされるチェックされると考えられています。ファイルの処理中に 例

  • それは が存在しない場合は、プログラムがファイルを開くことができません。

回復 だから、ファイルには、そのファイルを開く必要がいけないので、存在しない場合、したがってそれが回復

であるとの直接または間接のサブクラスであるすべての例外タイプを知ることは非常に簡単です。 RuntimeException(パッケージjava。lang)はチェックされていない例外です。これらは、通常、プログラムのコードの不具合によって引き起こされます。確認: 例

  • ArrayIndexOutOfBoundsExceptions
  • ArithmeticExceptions
  • エラー

回復不能なのでthatswhyプログラムがエラーまたは例外

関連する問題