'画面的一个按钮动作处理函数
Private Sub cmd_Click()
On Error GoTo dsadsads
a = 1/0 Exit Subdsadsads:
MsgBox Err.Description
End Sub
上面可以正常捕获并显示消息如果是调用类对象的方法出现异常则不行!!!
代码如下Private Sub cmd_Click()
On Error GoTo dsadsads
Dim obj As New Class1
obj.aaaaa
Exit Subdsadsads:
MsgBox Err.Description
End Sub'Class1的代码,就下面一个测试用方法
Public Function aaaaa() As Integer
i = 9 / 0aaaaa = 0
End Function后面这种情况会出现运行期错误,而不是自己要显示的错误消息框。晕倒,咋办?
Private Sub cmd_Click()
On Error GoTo dsadsads
a = 1/0 Exit Subdsadsads:
MsgBox Err.Description
End Sub
上面可以正常捕获并显示消息如果是调用类对象的方法出现异常则不行!!!
代码如下Private Sub cmd_Click()
On Error GoTo dsadsads
Dim obj As New Class1
obj.aaaaa
Exit Subdsadsads:
MsgBox Err.Description
End Sub'Class1的代码,就下面一个测试用方法
Public Function aaaaa() As Integer
i = 9 / 0aaaaa = 0
End Function后面这种情况会出现运行期错误,而不是自己要显示的错误消息框。晕倒,咋办?
解决方案 »
- 求Bitblt 屏幕区域截图的一段代码
- 专家请进,巨难,改动dsoframer.ocx控件,给出代码测试成功后另开帖子为您加500分,决不食言
- makecert.exe和SignCode.Exe这两个软件哪里有?
- 用VB编什么系统最简单?
- 如何用VB中的API函数实现模拟一次鼠标双击事件!
- 高分相送:想在程序中调用WORD,实现公文排版功能,Word能嵌入到VB中吗,到什么程度?
- 系统日期
- 请问各位大虾,有没有类似Acdsee样的多个图片的预览控件
- 如何识别excel表格中cell中的换行符号。
- 一维数组赋值时候,如何确保所有的赋值不相同,设置check 条件
- 水晶报表打印图片的问题!!高手帮忙!!
- 模式窗口显示时不能显示非模式窗口的错误,如何避免?
或者这个类是其他地方引用来的,咋办?不是处理不了吧
private sub command1_click()
on error goto er1
shell "c:\test.exe"
exit sub
er1:
msgbox "exe run error!"
end sub
也就是说,能够在不修改Class1的情况下解决问题等某人来说明,只要粘边就结贴送分,暂时还送不了分。
==============
可以的, 只要是在本image的代码就行。
onerror的错误机制是会想向上查找SEH连的, 我原来回过一个帖子很详细的描述了on error
的原理, 使用以及实现。很抱歉, 刚回答的有些仓促。
如果这个类是你自己做的,那么是可以检测到这个错误的。
你只所以还是抱错了, 是你在ide中运行的, 你编成exe就没事了。
如果你想让ide忽略这个错误, 可以设置的
tools->options->general->error trapping设置成break on all unhandled errors
private sub command1_click()
on error goto er1
shell "c:\test.exe"
exit sub
er1:
msgbox "exe run error!"
end sub谢谢
但如果dll是一个除0错误, 那么这个错误是vb所handle的, 那么他抓住了, 则自己处理
表现到代码里面则调用onerror指定的 我刚做了2个典型的方式做了实验
vb掉dll,
dll函数1产生内存缺页错误, vb抓不住(其实是vb抓住了然后发现是unhandled不知道怎么处理,又在一次抛出了)
dll函数产生除0错误, 被vb抓住了。
Public Function aaaaa() As Integer
On Error GoTo Err1
i = 9 / 0aaaaa = 0Err1:
If Err.Number <> 0 Then Err.Raise Err.NumberEnd Function
我所举的例子,编译成EXE是没问题的,调试时和IDE设定有关系。关于错误处理,补充一个链接供参考,很详细
上面这个问题在里面也有描述
http://www.keysound.com/html/ch_9_frequently_asked_question.htm