【问题标题】:AppleScript: on error (try) line numberAppleScript:错误(尝试)行号
【发布时间】:2011-08-24 02:33:43
【问题描述】:

是否可以获取脚本出错的行号?

例子:

try
    set a to "abc" + "123"
 on error line number num
    display dialog "Error on line number " & num
end try

【问题讨论】:

    标签: applescript try-catch onerror


    【解决方案1】:

    我不这么认为,try 语句看起来像这样

    try
        set a to "abc" + "123"
     on error errMsg
        display dialog "ERROR: " & errMsg
    end try
    

    但您可以查看script debugger,它将显示您的错误发生在哪一行

    另一种选择是获得textmate,当它出错时它会为您提供行号,并且对于用多种语言编写代码也很有用

    【讨论】:

    • 苹果脚本调试器 199 美元,不,谢谢。不过,请 +1 指出这一点。
    • 您现在可以下载并免费使用 20 天,之后禁用某些功能,但您仍然可以使用“精简版”。
    【解决方案2】:

    实际上 on error 语法也包括错误号(但没有行号):

    try
        set a to "abc" + "123"
    on error errorMessage number errorNumber
        log ("errorMessage: " & errorMessage & ", errorNumber: " & errorNumber)
    end try
    

    您可以使用信号量来标记您的进度:

    try
        ... your code here ...
    
        set lineNumber to "17"
    
        ... more code here
    
        set lineNumber to "18"
    
        ... more code here
    
    on error errorMessage number errorNumber
        log ("(line #" & lineNumber & ") errorMessage: " & errorMessage & ", errorNumber: " & errorNumber)
    end try
    

    我将第二次 mcgralm 推荐Script Debugger

    【讨论】:

    • 这可能是个愚蠢的问题,但是我们在哪里可以看到错误消息和错误号日志
    • 脚本编辑器和脚本调试器都有控制台日志,该输出将出现在其中。运行独立脚本时,日志会转到系统控制台。
    【解决方案3】:

    Satimage 的 Smile 对调试 AppleScript 有很大帮助。

    而且它是免费的。 再加上它是法语(呵呵)。

    绝对是一个很棒的工具!

    【讨论】:

      【解决方案4】:

      迟到了,但关于 Script Debugger,以下是 Mark Alldritt 的一个或许有用的回应:

      是的,打开异常中断。这会导致调试器在抛出异常的地方中断。调试器还显示抛出异常时所有已知变量的状态。然后,您可以进入“错误时”块。

      干杯 -马克

      2013 年 1 月 24 日上午 8:43,Dan 写道:

      当脚本在 Try 块中抛出错误时,是否有任何合理的方式来显示发生错误的行?

      【讨论】:

        猜你喜欢
        • 2013-08-13
        • 1970-01-01
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多