が成功しない場合は、が失敗すると予想します。戻り値をチェックしたり、間違った方法でチェックするのを忘れることができます。エラーごとに異なる値を使い始めると、すぐに手が届きません。 (-1
:成功か失敗か?それは作家によって異なります)
代わりに、例外的な状況で例外を使用する必要があります。例外が処理されないと、通常、アプリケーションの終了が発生します。アプリケーションのチェックを忘れないようにしてください。彼らの構文ははっきりしており、あなたは小切手であなたのコードを捨てることはありません。
あなたは、言語を指定したので、ここで数を分割VB.NETの例ですされていない。
Function FloorDivide(ByVal a As Integer, ByVal b As Integer) As Integer
Dim result As Boolean = a/b
If Double.IsNaN(result) Then Throw New DivideByZeroException()
Return CInt(Math.Floor(result))
End Function
あなたは成功値をチェックせずに、それを使用することができますが、あなたはまだTry...Catch
文を使用してエラーを処理することができます:
Try
FloorDivide(1, 0)
Catch ex As DivideByZeroException
MessageBox.Show("Something went terribly wrong! :D")
'Exit, maybe?
End Try
(!私はあなたがこの方法でゼロ除算を防ぐ必要があると言っていないことを、あなたの入力をフィルタリングする)
あなたはメートルに忘れない場合あなたのコードが静かに失敗するのではなく、すぐにテスト段階で思い出されます。また、はるかにクリーンで、Try...Catch
の範囲は、おそらく特定のエラーを起こしやすい方法で発生したエラーを処理し、それらを放棄することができます。知るか?
一般に、例外を使用してください。あなたがそれらを扱うことを計画していると分かっているのであれば、検証を行う必要があります。
非常に依存しています。例外をサポートする言語では、多くの人々がエラーコードを返すことを好んでいます。なぜなら、それらの関数の呼び出し元を戻り値をチェックする必要がないという退屈さから解放するからです(そして、現実からほとんどのプログラマは怠け者であり、それをやりません)。例外をサポートしていない他の言語/環境、または例外をスローするコストが非常に高い状況では、エラーコードを返すことを選ぶかもしれません。しかし、いつものように、最も重要なのは**一貫性**です。スタイルを選んでそれに固執する。 –