エラー処理ってやっぱり難しい。

あいかわらずトラックバックを送ることやコメントすることにおびえているわけで。

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 If

Return CInt(x / y)

End Function

とすると思います。で、
[Visual Basic]

Public Function 割算妥当性チェック(ByVal x As Integer, ByVal y As Integer) As Boolean

If y = 0 Then

Return False

End If

Return True

End Function

な検証メソッドがある場合に、元の割算 メソッドはどうするの?って話ですが、私は例外を投げるほうを実装します。今回の割算メソッドにとって y = 0 が例外であることは検証メソッドの有無によって変化しないからです。

以前、同じような内容を考えたことがありました。そのときの結論としては、使用時のことを考えない(他のメソッドとの組み合わせを意識しない)ようにする、というところに行き着きました。ただし我流なので正しいのかは自信がありません。orz