gcc/libjava/testsuite/libjava.lang/pr83.java

40 lines
819 B
Java
Raw Normal View History

// PR 83
/*
* test that caught null pointers exceptions in finalizers work correctly
* and that local variables are accessible in null pointer exception handlers.
*/
import java.io.*;
public class pr83 {
static String s;
public static void main(String[] args) {
System.out.println(tryfinally() + s);
}
public static String tryfinally() {
String yuck = null;
String local_s = null;
try {
return "This is ";
} finally {
try {
local_s = "Perfect";
/* trigger null pointer exception */
String x = yuck.toLowerCase();
} catch (Exception _) {
/*
* when the null pointer exception is caught, we must still
* be able to access local_s.
* Our return address for the finally clause must also still
* be intact.
*/
s = local_s;
}
}
}
}