0

私は物理プログラムに取り組んでおり、時間が経つにつれて、フリーズやロックアップを防ぐために、例外処理を使用して、ますます多くのルーズエンドを拘束し続けています。今のところ、StringFormatException(s)などの特定の例外がコンソールで発生していますが、このエラーはプログラムをフリーズせず、ランタイムにも影響を与えません。IDEのターミナル(Eclipse IDE、JRE 7)に表示されるだけです。 )。このようなエラーを処理する場合、(一見)実行時に影響を与えないようですが、プログラムが正常に動作している場合でも、例外を処理することは重要ですか?これらのタイプのエラーのみが処理されない状態でプログラムを.jarとしてエクスポートした場合、ユーザーは気付くことさえありますか?一部のエラーが大きな問題を引き起こすのに、他のエラーは引き起こさないのはなぜですか?

補足:これを主に求めているのは、将来、これよりもはるかに大きなプロジェクトに取り組むときに、例外がスローされてもまだ処理されていないコード内に膨大な数のスポットが存在する可能性があると考えているためです。 。数万行のコードを含む非常に大規模なプロジェクトでは、多くのプログラマーが、ロジックやランタイムに影響を与えないこれらのタイプのエラーを却下し、戻ってすべてを修正する必要はない、または時間の価値がないと結論付けていますか?または、発生する可能性のあるエラースローの状況をメモリにコミットし、発生する可能性のあるすべてのエラーを把握する習慣を身に付けることが不可欠です。

これと同様のエラーのあるソフトウェアの例、プログラムが何も起こらなかったかのように機能することを可能にするソフトウェアは、ソースコードが利用可能であり、この種のことに注意を払っていれば非常にありがたいです。

4

2 に答える 2

3

プログラムが正常に動作している場合でも、例外を処理することは依然として重要ですか?

正常に動作しているように見えても、動作しない場合があります。例外を無視する習慣を身につけた場合、問題の原因となっている例外を簡単に無視できます。

これらのタイプのエラーのみが処理されない状態でプログラムを.jarとしてエクスポートした場合、ユーザーは気付くことさえありますか?

彼らが出力を見るかどうかに依存します。

一部のエラーが大きな問題を引き起こすのに、他のエラーは引き起こさないのはなぜですか?

一部のエラーは他のエラーよりも深刻です。理想的には、重大なエラーのみが必要であるか、まったく必要ありません。それほど深刻ではないエラーは、修正が難しい/修正される可能性が低い微妙な問題を抱えている可能性が高くなります。

数万行のコードを含む非常に大規模なプロジェクトでは、多くのプログラマーが、ロジックやランタイムに影響を与えないこれらのタイプのエラーを却下し、戻ってすべてを修正する必要はない、または時間の価値がないと結論付けていますか?

何か有用なことをするつもりがない限り、例外を処理したりキャッチしたりしないのが最善です。それ以外の場合は、少なくとも常にログに記録されるのであれば、再スローすることをお勧めします。

プログラムが何も起こらなかったかのように機能することを可能にするものは大歓迎です

FileNotFoundException、EOFException、NumberFormatExceptionは、コードで処理される一般的な例外です(ただし、無視されることはめったにありません)。

ほとんどの場合、例外が発生しなかったふりをするのは悪い考えです。何かがうまくいったかどうかを気にしないのであれば、通常、そもそもそれは必要ありません。

于 2012-08-06T14:22:47.263 に答える
0

プログラムの実行に影響を与えないランタイムエラーが発生する可能性がありますが、可能な限りすべてのエラーの原因を処理または修正することを強くお勧めします。

ランタイムエラーを修正または処理しないと、ログ(存在する場合)がいっぱいになり、実際に気にする必要のあるエラーをすべてのノイズから確認できなくなります。

于 2012-08-06T14:23:29.267 に答える