求助版主:关于错误处理??
想问:是不是只要在一个过程中加入On Error 处理语句,所有发生的错误都会调用该句错误处理语句,而On Error 处理语句的位置是无所谓的??
如何在一个过程中分辨不同的错误,并调用不同的处理语句。
下例中,如果用户输入不存在的FilePath,并不报错,是不是由于我在语句初加了
On Error Resume Next语句??
code:
Dim ExcelApp As excel.Application
On Error Resume Next
Set ExcelApp = GetObject(, "Excel.Application")
If Err <> 0 Then
Set ExcelApp = CreateObject("Excel.Application")
End If
ExcelApp.Visible = True
'将材料表所在Excel文件打开
Dim FilePath As String
Dim ObjExcel As Workbook
FilePath = ThisDrawing.Utility.GetString(1, "请输入Excel表格所在路径:")
Set ObjExcel = ExcelApp.Workbooks.Open(FilePath)
ObjExcel.Activate
Re:关于错误处理
1、On Error语句只针对它所在的过程或者函数有效,但是如果没有On Error语句,那么这个过程或者函数发生错误时,将会传递给外部调用的过程或者函数,最终引用整个程序的崩溃,这是VB的程序不稳定的根本原因,只因为一个小小的错误。2、发生错误时,根据返回的Err.Number或者Err.Description来判断错误的原因是什么。
页:
[1]