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 {}
|