[解決済み] throws宣言を追加せずに例外を投げる方法はありますか?
2023-03-17 06:56:20
質問
次のような状況です。
別のベースクラスを継承し、あるメソッドをオーバーライドするJavaクラスがあります。
ベースメソッドは例外をスローしないため、このメソッドには
throws ...
宣言がありません。
さて、私自身のメソッドは例外を投げることができるはずですが、次のどちらかを選択する必要があります。
- 例外を飲み込むか
- throws 宣言を追加する
最初のものは例外を黙って無視し(私はいくつかのロギングを実行することができました)、2番目は異なるメソッドヘッダのためにコンパイラエラーを生成するので、両方は満足のいくものではありません。
public class ChildClass extends BaseClass {
@Override
public void SomeMethod() {
throw new Exception("Something went wrong");
}
}
どのように解決するのですか?
本当に投げたいのであれば、宣言しなくてもアンチェックされた例外を投げることができます。未チェックの例外は
RuntimeException
. を拡張する Throwables は
Error
もチェックされませんが、完全に処理不能な問題 (無効なバイトコードやメモリ不足など) にのみ使用されるべきです。
具体的なケースとして、Java 8 では
UncheckedIOException
をラップして再スローするために
IOException
.
関連
-
[解決済み] 投げる」と「投げる元」は違うのですか?
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
maven レポート エラー 解決不可能な親POM
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み] voidメソッドが例外を投げるかどうかをMockitoがテストする
-
[解決済み] 例外を発生させるタイミングは?
-
[解決済み】プログラムを停止/終了させることなく、完全な例外トレースバックをキャッチして表示する方法は?
-
[解決済み】JavaでThreadを正しく停止する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
Uncaught ReferenceError: は定義されていません。
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
アクセス制限の解決方法: ---- in Java
-
switch case文のcaseの後の列挙定数は列挙型なし
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。