tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。