虽然猫猫在文章中反复强调要做错误处理,很多人就是不听,还习惯性到处COPY代码,代码还不消化,到处乱用。
这样的程序表面上都正常,系统一大,肯定要完蛋的。
表单异常错误处理
在猫框的开发范式中,第一原则要求的是错误处理,这里的错误是包含了(错误、异常)两种情况。也就是你的程序都要去考虑两条线,一条是正常执行,一条是发生了错误怎么办?见太多人的程序了,错误压根不处理。
表单LOAD和INIT事件中错误处理
我们一般在LOAD和INIT事件就要把要处理的数据都准备好,如果此时发生错误,比如网络中断,程序不应该继续往下执行了,就算表单完全打开了,也没有任何意义。
所以代码如下,在这里返回了一个.F.假,这样VFP的表单就不会再显示了。模式和非模式表单都可以这样写。
LOAD 事件 init 事件(非猫框)
代码语言:javascript复制 if 有错误
?错误
return .f.
endif
init事件 (猫框)
代码语言:javascript复制 if 有错误
?错误
this.Destroy() &&释放所有自响应控件
return .f.
endif
如果是模式表单可以在Unload事件中返回值
代码语言:javascript复制 return 123
模式表单取返回值规范调用方法
平常我们调用模式表单写法如下
代码语言:javascript复制 Do form 模式表单 with 参数 to uReturn
?uReturn
如果模式表单在LOAD事件就Return .f. 这样情况会出现错误, uReturn 未定义
所以完整规范的写法如下
代码语言:javascript复制 local uReturn
uReturn =.null.
Do form 模式表单 with 参数 to uReturn
if isnull(uReturn)
return
endif
?uReturn
这里就可以判定值是不是NULL,如果是NULL表示程序不往下执行了。
代码如果规范,就能从源码把错误给避免了,让您的程序更加稳定高效。
猫猫带个货,海南金煌芒果,坏果包赔,喜欢的可以下单啊。