タイトル : VB2005での0除算例外について 投稿日 : 2007/12/11(Tue) 15:35 投稿者 : たると
こんにちは、いつもお世話になっています。 以前はVB6.0を使用していたためDoubleでも0除算例外をキャッチ(スローというのでしょうか?)することができていたのですが、今回VB2005を使用するようになってから Doubleで0除算例外がキャッチできなくなったことを知りました。 参考のサイト様より以下のソースでは例外がでませんでした。 Private Sub Button1_Click(...) Handles Button1.Click Dim a As Integer = 10 Dim b As Integer = 0 Dim c As Double = 0 c = a / b End Sub このプログラムの場合aとbがint型のため4行目のソースコードを c = CInt(a / b) とすることで、例外をキャッチすることが可能なのですが、このa,bに小数点付きの値が 入る場合 Private Sub Button1_Click(...) Handles Button1.Click Dim a As Double = 11.111 Dim b As Double = 2.222 Dim c As Double = 0 c = CInt(a / b) End Sub としてしまうと、cに生じる0除算例外はキャッチすることができるのですが、 CIntでデータ型をinteger型にしてしまっているため、cには5が入ってしまいます。 正規処理ではcには小数点付きの数字が入るので、できればDoubleを使用し、例外の処理が 生じたときにキャッチしてやりたいのですが、どのような処理をすればよいのかがわからず困っています。 どなたかご教授お願い致します。 参考にしたURL http://salv.miscnotes.com/2006/10/34_vb20050.php |