#ErrorStdOut ; 感觉上没什么用,主要还是用OnError() OnError("LogError") ; 注册函数,隐藏报错提示并把报错信息保存至桌面文本 ; Try只是单行或局部的写法 Try Gui, Add, Text, gGoogle,search Google Catch Error MsgBox, % "报错行数:" Error.Line Try Run, %A_ScriptDir%/exemplodearquivoinexistente.exe Catch Error MsgBox % "执行运行命令时出错。具体来说:" Error.message ; 如果上面的 Run 遇到错误,这个 msgbox 就会运行(因为文件 exampledefilenonexistent.exe 不存在)。 ; 调用不存在的函数时() ; 存在#ErrorStdOut时,不会报错提示。也无法运行脚本 %cause% := error ; 变量名不存在,调用错误【即使存在#ErrorStdOut也会报错,除非注册OnError()】 Return ; 报错时,把报错信息保存至桌面文本并退出脚本自身 LogError(exception) { FileAppend % "----- " A_YYYY "." A_MM "." A_DD " - " A_Hour ":" A_Min ":" A_Sec " -----`n发生错误的语句行号:" exception.Line "`n错误消息 ErrorLevel 值:" exception.Message "`n错误发生时正在执行的命令或函数名称:" exception.What "`n错误的额外信息:" exception.Extra "`n包含发生错误的语句和文件完整路径:" exception.File "`n`n" , %A_WorkingDir%\ErrorLog.txt MsgBox 0x40010, 程序运行时出错, % "发生错误的语句行号:" exception.Line "`n错误消息 ErrorLevel 值:" exception.Message "`n错误发生时正在执行的函数名称:" exception.What "`n错误的额外信息:" exception.Extra "`n包含发生错误的语句和文件完整路径:" exception.File "`n`n请与作者联系并检查修复。" ExitApp } 新进程报错提示(exception) { SplitPath, % exception.File, 文件名 MsgBox 0x40010, 你的"%文件名%"脚本语法写错了,请检查并修正!, % "发生错误的语句在第 " exception.Line-18 " 行`n`n报错消息:" exception.Message "`n`n报错命令或函数的名称:" exception.What "`n`n报错额外信息:" exception.Extra ExitApp }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)