/*
* Exception example.
*/
class Foo {
public void brokenFunction()
{
System.
out.
println("Hello from Foo!");
int[] numbers = null;
System.
out.
println(numbers.
length); }
}
class Bar extends Foo {
@Override
public void brokenFunction()
{
System.
out.
println("Hello from Bar!");
int[] numbers = null;
System.
out.
println(numbers.
length); }
public static void main
(String[] args
) { try {
new Foo().brokenFunction();
System.
out.
println(e
+ " was caught in main"); }
try {
new Bar().brokenFunction();
System.
out.
println(e
+ " was caught in main"); }
}
}
LyoKICogRXhjZXB0aW9uIGV4YW1wbGUuCiAqLwoKY2xhc3MgRm9vIHsKCXB1YmxpYyB2b2lkIGJyb2tlbkZ1bmN0aW9uKCkKCQl0aHJvd3MgTnVsbFBvaW50ZXJFeGNlcHRpb24KCXsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIkhlbGxvIGZyb20gRm9vISIpOwoJCQoJCWludFtdIG51bWJlcnMgPSBudWxsOwoJCVN5c3RlbS5vdXQucHJpbnRsbihudW1iZXJzLmxlbmd0aCk7Cgl9Cn0KCmNsYXNzIEJhciBleHRlbmRzIEZvbyB7CglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIGJyb2tlbkZ1bmN0aW9uKCkKCQl0aHJvd3MgUnVudGltZUV4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnRsbigiSGVsbG8gZnJvbSBCYXIhIik7CgkJCgkJaW50W10gbnVtYmVycyA9IG51bGw7CgkJU3lzdGVtLm91dC5wcmludGxuKG51bWJlcnMubGVuZ3RoKTsKCX0KCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgewoJCXRyeSB7CgkJCW5ldyBGb28oKS5icm9rZW5GdW5jdGlvbigpOwoJCX0gY2F0Y2ggKE51bGxQb2ludGVyRXhjZXB0aW9uIGUpIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKGUgKyAiIHdhcyBjYXVnaHQgaW4gbWFpbiIpOwoJCX0KCQkKCQl0cnkgewoJCQluZXcgQmFyKCkuYnJva2VuRnVuY3Rpb24oKTsKCQl9IGNhdGNoIChSdW50aW1lRXhjZXB0aW9uIGUpIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKGUgKyAiIHdhcyBjYXVnaHQgaW4gbWFpbiIpOwoJCX0KCX0KfQ==