2013-05-23 4 views
0

У меня возникла проблема с автоматизацией одного из моих сценариев Photoshop, где он может быть полностью остановлен ошибкой в ​​поддерживающем наборе действий. Скрипт выполняет около 99% работы, но оставшиеся 1% должны выполняться в результате действия из-за выполняемой работы (работа НЕ доступна для сценариев или, по крайней мере, неэффективна, по крайней мере, для сценария). Проблема, с которой я сталкиваюсь, заключается в том, что если в имени слоя есть ошибка в имени слоя, Photoshop выдает предупреждение об этой проблеме, останавливая весь процесс, пока я не нажму кнопку «ОК» на указанном оповещении.Обнаружение или подавление ошибок при автоматизации сценариев

Есть ли способ поймать эти ошибки (простой try/catch в коде активации действия не работает) или, по крайней мере, подавить ошибки, чтобы они не остановили весь процесс? Заранее благодарю за любую помощь!

Редактировать: Исправление по ошибке; это не предупреждение «Ok», это предупреждение «Продолжить/Стоп». Сопровождающее его сообщение - это слой «Объект» «layerName» «в настоящее время недоступен». Это происходит, если человек, создавший действие, не смог переименовать слой, прежде чем выполнять свою работу над ним, и остановит весь процесс автоматизации, пока я не нажму «продолжить» или «остановить».

+0

Вы пробовали 'displayDialogs = DialogModes.NO'? Одна из идей заключалась бы в преобразовании [действия в скрипт] (http://ps-scripts.cvs.sourceforge.net/viewvc/ps-scripts/xtools/apps/ActionToJavascript.jsx?revision=1.29) Таким образом, вы могли бы сценарий для именованного слоя. Или другое (запутанное) решение - запустить скрипт для проверки неправильно названных слоев перед запуском действия. Или еще лучше, чтобы сценарий запускал действие с помощью инструкции try/catch. –

+1

Извините за отложенный ответ, занят работой. Опция displayDialogs не работает, когда ошибка находится в обработке действий, и я могу только уловить ошибки, если они являются ошибками, связанными с именем действия; как только действие начнет работать, оно больше не ловит ошибок до тех пор, пока действие не завершится и скрипт не будет продолжен. Ваше действие над сценарием на самом деле является лучшим решением; вы должны опубликовать это как ответ, чтобы я мог его принять. Я действительно получил этот ответ как ответ уже на форумах adobe.com, но было бы неплохо отметить его как правильное здесь для тех, кто не использует этот форум. – DGolberg

ответ

1

Вы должны преобразовать действие в скрипт, используя ActionToJavascript.jsx. После этого вы можете изменить скрипт, чтобы искать ошибки - например, вы упомянули, что слои неправильно названы.