При работе с синхронными ошибками выполнения для их перехвата используются инструкции
             
              try..catch..finally
             
             . Когда возникает ошибка выполнения, среда выполнения Flash генерирует исключение. Это означает, что нормальное выполнение программы приостанавливается, и создается специальный объект типа Error. Затем объект Error отправляется в первый доступный блок
             
              catch
             
             .
            
            
             Инструкция
             
              try
             
             закрывает группу инструкций, которые потенциально могут создавать ошибки. Инструкция
             
              catch
             
             всегда используется с инструкцией
             
              try
             
             . Если обнаруживается ошибка в одной из инструкций блока
             
              try
             
             , начинается выполнение инструкций
             
              catch
             
             , которые прикреплены к данной инструкции
             
              try
             
             .
            
            
             Инструкция
             
              finally
             
             закрывает инструкции, которые будут выполняться при возникновении ошибки в блоке
             
              try
             
             или нет. Если ошибки нет, инструкции внутри блока
             
              finally
             
             выполняются после завершения выполнения инструкций блока
             
              try
             
             . Если ошибка есть, сначала выполняется соответствующая инструкция
             
              catch
             
             , затем — инструкции блока
             
              finally
             
             .
            
            
             Следующий код демонстрирует синтаксис для использования инструкций
             
              try..catch..finally
             
             :
            
            try 
{ 
    // some code that could throw an error 
} 
catch (err:Error) 
{ 
    // code to react to the error 
} 
finally 
{ 
    // Code that runs whether an error was thrown. This code can clean 
    // up after the error, or take steps to keep the application running. 
}
            
             Каждая инструкция
             
              catch
             
             идентифицирует специфический класс того исключения, которое он обрабатывает. Инструкция
             
              catch
             
             может задавать только те подклассы ошибок, которые принадлежат к классу Error. Каждая инструкция
             
              catch
             
             проверяется по порядку. Выполняется только первая инструкция
             
              catch
             
             , которая соответствует типу генерируемой ошибки. Другими словами, если проверяется сначала класс Error высшего уровня, а затем подкласс класса Error, тогда выбран будет только класс Error высшего уровня. Эту систему иллюстрирует следующий код:
            
            try 
{ 
    throw new ArgumentError("I am an ArgumentError"); 
} 
catch (error:Error) 
{ 
    trace("<Error> " + error.message); 
} 
catch (error:ArgumentError) 
{ 
    trace("<ArgumentError> " + error.message); 
}
            
             Выше приведенный код отображает следующий вывод:
            
            <Error> I am an ArgumentError
            
             Чтобы корректно перехватить ошибку ArgumentError, наиболее специфические типы ошибок должны быть перечислены в начале, а наиболее общие — в конце, как показано в следующем примере:
            
            try 
{ 
    throw new ArgumentError("I am an ArgumentError"); 
} 
catch (error:ArgumentError) 
{ 
    trace("<ArgumentError> " + error.message); 
} 
catch (error:Error) 
{ 
    trace("<Error> " + error.message); 
}
            
             Некоторые методы и свойства в API-интерфейсе ActionScript генерируют ошибки выполнения, если они сталкиваются с ошибками во время работы. Например, метод
             
              close()
             
             в классе Sound генерирует ошибку IOError, если он (метод) не в состоянии закрыть аудиопоток, как демонстрируется в следующем коде:
            
            var mySound:Sound = new Sound(); 
try 
{ 
    mySound.close(); 
} 
catch (error:IOError) 
{ 
    // Error #2029: This URLStream object does not have an open stream. 
}
            
             Изучив
             
              cправочник ActionScript® 3.0 для платформы Adobe® Flash® Platform
             
             , вы обратите внимание на то, какие методы генерируют исключения. Это детально описано для каждого метода.