微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 AHK 中,Try/Catch 和 OnError() 有什么区别?何时使用其中一种?

如何解决在 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 举报,一经查实,本站将立刻删除。