コアJavaの例外とエラーの違いは何ですか?

問題

例外とエラーの違いは何ですか?例外例外の一般的な実行時との違いは何ですか?

解決

例外とエラーはThrowableクラスを継承します。のみのThrowableがスローとキャッチすることができます。例外プログラムは通常予想されるようにされ、エラーは通常、回復不可能なプログラムになります。例外は異常なし異常に分けることができ、異常は、実行時例外ではありません。

NoClassDefFoundErrorがとにClassNotFoundException違い

パッケージングエラーは、プロジェクトによる誤差は、パッケージと実行時にパッケージが起動することはできません見つけることができない見つけるために、コンパイラが発生したときに通常発生しNoClassDefFoundErrorが、ClassNotFoundExceptionが例外から生じる)(Class.fromNameがロードされ、このようなパッケージが存在しない場合に発生しました。

例外処理の基本原則

  1. 特定の例外をキャプチャ
  2. 異常飲み込まないでください。

例えば:

try {
 // 业务代码
 // …
 Thread.sleep(1000L);
} catch (Exception e) {
 // Ignore it
}
复制代码

早く投げ、後半キャッチ原则

  1. 早く投げます
public void readPreferences(String fileName){
	 //...perform operations... 
	InputStream in = new FileInputStream(fileName);
	 //...read the preferences file...
}

public void readPreferences(String filename) {
	Objects. requireNonNull(filename);
	//...perform other operations... 
	InputStream in = new FileInputStream(filename);
	 //...read the preferences file...
}
复制代码
  1. 後半キャッチ

機密情報を排出嵐ないように注意しながら、カスタム例外、便利なロケーションを使用することを検討してください。利用者は、情報の出力を許可されていません。

おすすめ

転載: juejin.im/post/5dbbcd30f265da4d1b51cf54