public class MyClass {
public static void method() {
try {
// there is no compile time error for unnecessary catching 'Exception'
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
// why compile time error for unnecessary catching 'MyException' or // 'CloneNotSupportedException' etc.. // ultimately Exception, MyException & CloneNotSupportedException all // are checked exception
} catch (MyException e) {
e.printStackTrace();
}
}
}
class MyException extends Exception {
}
second scenario
---------------
public class MyClass {
public static void method() throws Exception {
}
public static void main(String[] args) {
// if Exception itself is not checked , // why compile time error occured for calling method(); ??
method();
}
}
1
A
答えて
3
RuntimeExceptionsはExceptionクラスのサブクラスです。したがって、コンパイラは、jvmによってスローされる可能性があるため、実行時例外をスローするコードがあるかどうかを判断することはできません。 一方、一部のメソッドによってスローされるチェック例外を宣言しなければならないため、コンパイラはスローされる可能性のある例外を認識し、不要なcatchブロックを判断できます。
1
メソッドは、スローされた例外を宣言します。既知の例外タイプのスーパークラスではないものをキャッチしている場合は、キャッチは必要ありません。
0
我々は例外と未チェック例外をチェックしています。 CloneNotSupportedException
はチェック例外です。メソッドがをスローした場合、呼び出し元はをキャッチしてこのタイプの例外をキャッチする必要があります。そのような場合、jvmはキャッチされているかどうかを検出できますが、tryブロック内のメソッドはそれをスローしません。
Exception
自体はチェックされていません。
+0
で許可さ – SmartSolution
関連する問題
- 1. LinuxでJava Desktop APIに必要なライブラリを見つける方法を教えてください。
- 2. Arduinoに必要な時間に毎日タスクを実行させる方法を教えてください。
- 3. Rubyにネイティブライブラリを見つける方法を教えてください。
- 4. Rubyでメソッドのネストを見つける方法を教えてください。
- 5. 辞書の最大要素のキーをPython言語で見つける方法を教えてください。
- 6. 誰かにコマンドを使用する役割が必要になる方法を教えてください。
- 7. プロジェクト内に存在しない.CSファイルをプロジェクトフォルダ内で見つける方法を教えてください。
- 8. ViewModelは、ビューから必要なデータを要求する方法を教えてください。
- 9. MEFにこのインターフェイスに必要なタイプを教えてください。
- 10. Xcodeでエラーを見つける方法を教えてください。 (iphoneプロジェクト)
- 11. openssl_encryptを入力して必要なブロックサイズにする方法を教えてください。
- 12. このコードがコンピュータなしで返す値を見つける方法を教えてください。
- 13. Thorがシステムにインストールされているファイルのテンプレートを見つける方法を教えてください。
- 14. wgetが親要素につながるリンクをスキップする方法を教えてください。
- 15. ページから要素を抜け出ないようにする方法を教えてください。
- 16. ディープ・ラーニング・モデルに必要なレイヤの種類を特定する方法を教えてください。
- 17. Rubyでは、配列内の要素のインデックスを大文字と小文字を区別しないで見つける方法を教えてください。
- 18. LaTeXドキュメント(www-data)が必要なパッケージにアクセスできない場合、PHPにLaTeXドキュメントをコンパイルする方法を教えてください。
- 19. PostgreSQLで必要なタイムゾーンを明確に区別する方法を教えてください。
- 20. PHPで必要な価値を手軽に得る方法を教えてください。
- 21. 不正なcsvデータを解析する方法を教えてください。
- 22. ng-repeatなしで要素のリストをグループとしてバインドする方法を教えてください。
- 23. json要素がnilでないことを保証する方法を教えてください。
- 24. EclipseでAVDを「見る」方法を教えてください。
- 25. ハッシュマップを使用してポイントが属するエリアを見つける方法を教えてください。
- 26. 最もネストされた要素だけを一度にACTIVEにする方法を教えてください。
- 27. セレンの特定のウェブ要素内の即時ウェブ要素を見つける方法を教えてください。
- 28. Integer.MAX_VALUEを使用して最小値と最大値を見つける方法を教えてください。
- 29. CakeでIFileの完全なディレクトリを見つける方法を教えてください。
- 30. レールで「不明な列」エラーを防ぐ方法を教えてください。
返信ありがとうございます。 例外自体がチェックされていない例外の場合は、処理する必要があるのはなぜですか? 2番目のシナリオを参照してください。 – SmartSolution
例外がチェックされた例外である可能性があるためです。 –
結論は 'Exception'クラスの振る舞いはChecked&Unchecked例外を混在させるようなものです。 1)チェックされた振る舞い:スロー句で使用される場合、呼び出し先関数はキャッチまたは転送する必要があります 2) :JVMで 'Exception'が許可された不要なtry-catchブロック。右 ??コードの下時エラーをコンパイルスロー理由例外自体は、次にチェックされていない場合のjavac(ないJVM) – SmartSolution