AppleScript: при ошибке (попробуйте) номер строки
Можно ли получить номер строки, куда скрипт выкинул ошибку?
Пример:
try
set a to "abc" + "123"
on error line number num
display dialog "Error on line number " & num
end try
4 ответа
Я так не думаю, попробуйте заявления выглядят так
try
set a to "abc" + "123"
on error errMsg
display dialog "ERROR: " & errMsg
end try
но вы можете посмотреть на скрипт отладчика, который покажет вам, на какой линии произошла ваша ошибка
Другая альтернатива - получить textmate, который за 52 доллара в случае ошибки дает номер строки, а также полезен для написания кода на многих языках.
Улыбка Сатимиджа очень помогает в отладке appleScript.
И это бесплатно. Плюс это французский (хе-хе).
Определенно отличный инструмент!
На самом деле синтаксис при ошибке также включает номер ошибки (но не номер строки):
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
И я буду второй рекомендацией McGrailm для Script Debugger!
Поздно здесь, но в отношении отладчика сценариев, вот, пожалуй, полезный ответ от Марка Олдритта:
Да, включить Break On Exceptions. Это приводит к сбою отладчика в точке, где выдается исключение. Отладчик также показывает состояние всех известных переменных на момент выдачи исключения. Затем вы можете перейти в блок "при ошибке".
Ура -марк
2013-01-24, в 8:43, Дэн написал:
Когда скрипт выдает ошибку в блоке Try, есть ли разумный способ отобразить строку, где произошла ошибка?