本帖最后由 daiyu116 于 2011-7-7 19:05 编辑
回复 1# yarsye
根据我的理解, SetError(0,0,0)中第二个参数@extended 在针对同一个error时意义更大。
举个例子。
出错,出错的原因可能是运行文件出错,也可能是打开文件出错,
那么这时候可以这么写:
if 出错 then
if 运行文件出错 then
return SetError(0,1)
elseif 打开文件出错 then
return SetError(0,2)
endif
endif
针对上面这个代码判断时就要这样写:
if @error=0 and @extened=1 then 或者 if @error=0 and @extened=2 then
SetError(0,0,0) 或者 SetError(1,0,1) 或者 SetError(2,0,2) 中第三个参数的值如果和第一个@error参数值相同,那他完全是多余的,就不必特意写出来第三个参数。
所以对于1楼你贴出来的代码,我认为完全可以只写为
If ($bFound == True) Then
return SetError(0,0)
Else
return SetError(1,0)
EndIf
因此,举例子如下:
出错(@error),出错的原因(@extended)可能是运行文件出错(想设置这个原因返回的值设置为3),也可能是打开文件出错(想设置这个原因返回的值设置为9)
那么这时候可以这么写:
if 出错 then
if 运行文件出错 then
return SetError(0,1,3)
elseif 打开文件出错 then
return SetError(0,2,9)
endif
endif
针对本例,后面判断的时候可以用下面的语句:
if @error=3 then 或者 if @error=9 then
如果还有其他@error=3的情况,那么判断的时候要写成if @error=3 and @extended=1 then |