タイトル | : VB2005での0除算例外について |
記事No | : 6661 |
投稿日 | : 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
|