AppleScript: по ошибке (попробуйте) номер строки

Можно ли получить номер строки, где script вышла ошибка?

Пример:

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

Ответы

Ответ 1

Я не думаю, что так выглядят заявления вроде

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

но вы можете посмотреть script отладчик, который покажет вам, в какой строке произошла ваша ошибка на

другой альтернативой является получение textmate, который идет за 52 $, когда он вызывает ошибки, дает вам номер строки и также полезен для написания кода во многих языки

Ответ 2

Satimage Улыбка очень помогает, когда дело доходит до отладки applescript.

И это бесплатно. Плюс это французский (хе-хе).

Определенно отличный инструмент!

Ответ 3

Фактически синтаксис 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

И я рекомендую 2-й mcgrailm для Script Отладчик!

Ответ 4

Поздно к участнику здесь, но в отношении Script Debugger, вот, возможно, полезный ответ от Марка Алдритта:

Да, включите Break On Exceptions. Это приводит к тому, что отладчик прерывается в точке, где генерируется исключение. Отладчик также отображает состояние всей известной переменной в момент генерирования исключения. Затем вы можете войти в блок "on error".

Приветствия -Марк

В 2013-01-24, в 8:43, Дэн написал:

Когда Script выдает ошибку в блоке Try, есть ли разумный способ отображения строки, где произошла ошибка?