5

行列演算を実行するプログラムを書いていますが、無効な次元の場合にどのような例外を使用する必要があるかを理解しようとしています。私の操作がスローするのに受け入れられる、すでに存在する例外タイプはありますか?または、独自の例外タイプを実装する必要がありますか? ほとんどすべての例外タイプが私が望むことを行うことはわかっていますが、問題は、例外が実際にそれを引き起こした問題を説明していることを確認することです。

4

4 に答える 4

7

あなたが探しているものに最も近いのはIndexOutOfBoundsExceptionです。MatrixIndexOutOfBoundsExceptionそのまま使用することも、独自の例外を派生させることもできます。

于 2012-09-24T18:00:57.117 に答える
2

他の人が言うように、あなたはおそらくそうする必要はありません。ただし、顧客は常に正しいので、独自の例外タイプを作成する必要があります。

ただし、関連するSOの質問は次のとおりです。スレッド "main"の例外java.lang.RuntimeException:マトリックスは特異です

于 2012-09-24T18:00:12.313 に答える
2

行列の次元が実行しようとしていることに適していないことを説明するメッセージとともに、IllegalArgumentException(Stringメッセージ)をスローできます。

たとえば、ライブラリユーザーが、行列引数nXnを持つ行列でのみ機能するメソッドを呼び出そうとしている場合は、このような例外をスローする必要があります。nXm

于 2012-09-24T18:01:00.293 に答える
0

独自の例外を使用できる場合。独自の例外は、java.lang.RuntimeException または RuntimeException のサブクラスを拡張する必要があります。RuntimeException は非チェック例外です。この場合、未チェックの例外を使用する必要があります。

于 2012-09-24T18:07:50.250 に答える