mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-22 20:49:49 +08:00
31fcb1b9a9
* libjava.lang/pr83.out: New file. * libjava.lang/pr83.java: New file. * libjava.lang/pr109.out: New file. * libjava.lang/pr109.java: New file. From-SVN: r31446
40 lines
819 B
Java
40 lines
819 B
Java
// 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;
|
|
}
|
|
}
|
|
}
|
|
}
|