Перехват ошибок. Конструкция "try..catch"
Как я уже говорил в предыдущем видео уроке, конструкция try..catch в выражениях After Effects, выполняет функцию обработки ошибок. В этой статье напишу более подробно про эту функцию.
Ошибки бывают двух типов, это синтакcические ошибки (нарушение структуры кода, пропуск точек, запятых, скобок) и семантические ошибки (ошибки времени выполнения, когда код запускается, но встречает проблему, пропущенную переменную, отсутствие необходимых маркеров или ключевых кадров). Такие ошибки можно «перехватить» и сделать так, чтобы окно об ошибки в After Effects не появлялось. Теперь разберем саму конструкцию:
try..catch состоит из двух основных блоков – это try, и catch. Сначала выполняется код внутри блока try, если в нем возникает ошибка, то выполнение try прерывается, и запускается блок catch.
Синтаксис блока:
try {
// код
}
catch (err) {
// код
}
Блок catch имеет аргумент который обозначен как err. Это – объект ошибки или объект исключения, который содержит информацию о том, что произошло. Обычно err – объект встроенного типа Error и производных от него.
Разберем пример из прошлого урока:
try {
t=thisComp.marker.key(1).time; // находим время первого маркера;
if(t>=time) { // если время маркера больше или равняется текущему времени
100
} else 25
}
catch(err){value}
В этом примере мы получим ошибку в том случае, если маркеры в композиции не проставлены. Если маркеров в композиции нет, то блок try опускается, и идет выполнение блока catch, в данном случае мы просто возвращаем исходное значение value параметру, к которому было применено это выражение. Вместо value вы можете написать любое другое значение, например 100, в этом случае значение, при получение ошибки, всегда будет равняться стам.
- Aspect Ratio Letterbox 21:9
- Else If конструкция в выражениях АЕ
- Экспрешены в АЕ. Понятие пространства
- График отображения выражений
- myPath="Данные из сторонних документов в AE"
- Анимация без ключевых кадров
- Pseudo Effects Creator
- Числовые обозначения вместо имен
- PosterizeTime выражение AE
- Комментарии к выражениям