1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/*
* Test different variants of the try-catch block.
*
*/
object Test {
def tryAllUnit: Unit =
try {
throw new Error();
}
catch {
case _: Throwable => Console.println("exception happened\n");
}
def tryUnitAll: Unit =
try {
Console.println("Nothin");
} catch {
case _: Throwable => sys.error("Bad, bad, lama!");
}
def tryAllAll: Unit =
try {
throw new Error();
} catch {
case _: Throwable => sys.error("Bad, bad, lama!");
}
def tryUnitUnit: Unit =
try {
Console.println("Nothin");
} catch {
case _: Throwable => Console.println("Nothin");
}
def tryIntUnit: Unit =
try {
10;
} catch {
case _: Throwable => Console.println("Huh?");
}
def execute(f: => Unit) = try {
f;
} catch {
case _: Throwable => ();
}
def main(args:Array[String]): Unit = {
execute(tryAllUnit);
execute(tryUnitAll);
execute(tryAllAll);
execute(tryUnitUnit);
execute(tryIntUnit);
}
}
|