エラー処理ってやっぱり難しい。
あいかわらずトラックバックを送ることやコメントすることにおびえているわけで。
Ognacの雑感:エラー対応処理とメソッドの完成度
割算のメソッドの実装を考えてみるテスツ。
[Visual Basic]記事にもあるとおり、これじゃあっさりと逝けるので。Public Function 割算(ByVal x As Integer, ByVal y As Integer) As Integer
Return CInt(x / y)
End Function
[Visual Basic]とすると思います。で、Public Function 割算(ByVal x As Integer, ByVal y As Integer) As Integer
If y = 0 Then
Throw New ApplicationException("0で割ろうとしちゃだめですよ!ぷんぷん!")
End IfReturn CInt(x / y)
End Function
[Visual Basic]な検証メソッドがある場合に、元の割算 メソッドはどうするの?って話ですが、私は例外を投げるほうを実装します。今回の割算メソッドにとって y = 0 が例外であることは検証メソッドの有無によって変化しないからです。Public Function 割算妥当性チェック(ByVal x As Integer, ByVal y As Integer) As Boolean
If y = 0 Then
Return False
End If
Return TrueEnd Function
以前、同じような内容を考えたことがありました。そのときの結論としては、使用時のことを考えない(他のメソッドとの組み合わせを意識しない)ようにする、というところに行き着きました。ただし我流なので正しいのかは自信がありません。orz