意义就在于,你能保证你的写的代码里面一个bug都没有吗?
万一在调用MyTestFunc() 的前一行,你的脚本就崩了,这个时候谁给你做清理工作啊
写了小demo,你自己体会一下
;~ 注册一个退出函数
OnAutoItExitRegister("MyTestFunc")
;~ 脚本运行过程中,可能会产生一些临时文件,
;~ 或者使用一些网络资源、数据库资源
;~ 例如:
FileWrite(@ScriptDir & '\test.txt', '随便写点什么')
ConsoleWrite('test.txt文件在吗? -> ' & FileExists(@ScriptDir & '\test.txt') & @CRLF)
;~ 现在有两秒的时间,快去看看,test.txt文件在不在
Sleep(2000)
;~ 运气不好的时候,或者有bug,脚本运行到一半的可能就崩了,
;~ 但是就算是崩了,也是要清理的啊
;~ 给我崩~~~
Local $a[1]
ConsoleWrite('@@ Debug: $a[1] = ' & $a[1] & @CRLF)
;~ 执行不到这一句的,因为上一句已经数组下标越界了
ConsoleWrite('@@ Debug: 执行不到这儿的' & @CRLF)
Func MyTestFunc()
;~ 脚本退出的时候做一些清理工作
;~ 例如:删除临时文件,释放网络连接,释放数据库连接,甚至是说个byebye
ConsoleWrite('@@ Debug: byebye~~~' & @CRLF)
FileDelete(@ScriptDir & '\test.txt')
ConsoleWrite('test.txt文件还在吗? -> ' & FileExists(@ScriptDir & '\test.txt') & @CRLF)
EndFunc ;==>MyTestFunc
|