Catch Blocks Example
package { import flash.display.Sprite; public class Main extends Sprite { public function Main() { try { var n:int = sumSomeNumbers(); trace(n); } catch (e:UnrelatedError) { trace("something unrelated happened."); } catch (e:DispleasingNumberError) { trace("somewhere, a number is displeasing."); } catch (e:Error) { trace("something bad happened"); } } protected function sumSomeNumbers():int { var sum:int = 0; for (var i:int = 0; i < 10; i++) { sum += someNumber(); } return sum; } protected function someNumber():int { var n:int = Math.round(Math.random() * 10); if (n < 2) { throw new PatheticallySmallNumberError(); } return n; } } } class DispleasingNumberError extends Error {} class PatheticallySmallNumberError extends DispleasingNumberError {} class UnrelatedError extends Error {}