如何解决在 AHK 中,Try/Catch 和 OnError() 有什么区别?何时使用其中一种?
我目前正在编写一个读写文件的 AHK 脚本。 我想处理可能的 I/O 错误, 但我不清楚该文档关于我是否应该使用 Try/Catch 或 OnError()。
解决方法
所以,经过更多的研究,这是我的理解:
-
尝试/捕捉:用于:
- 具体标识将应用它的某些代码行。
- 然后,如果您愿意,可以继续执行。
- Try/Catch 允许在 Try 块失败后继续执行命令。
- (但是,Try/Catch不允许在Try块内失败后继续执行命令。例如如果包裹了5条命令,那么如果第二条抛出,在Catch-block中做了一些事情后,将无法从第三条继续执行。)
-
OnError():用于
- 处理任何未处理的错误。
- 阻止(或不阻止)默认错误对话框。
- 在任何情况下,线程执行都会在您处理错误后停止。
- 一次可以有多个 OnError() 处理程序处于活动状态, 并且您可以决定在发生错误时以何种顺序执行它们(或在其中任何一个之后停止执行)。
- 如果所有处理程序都返回0,则所有处理程序都被一个接一个地调用,然后显示默认错误消息,然后线程退出。 如果任何处理程序返回非零整数,则线程退出而不调用以下处理程序并且不显示默认错误对话框。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。