catching exceptions in main() causes segfault?

Adam Megacz gcj@lists.megacz.com
Mon Feb 25 19:37:00 GMT 2002


Can anybody who understands GCC's exception handling better than I do
explain this?
Program 1: segfaults, apparently in longjmp() [tries to jump to invalid addr]
 public class test {
 public static void run() throws Exception {
 throw new Exception();
 }
 public static void main(String[] s) {
 try {
 try { Thread.sleep(1000); } catch (Exception e) { }
 run();
 } catch (Exception e) {
 System.out.println("caught!!!");
 System.out.println(e);
 }
 }
 }
Program 2: runs correctly
 public class test {
 public static void run() {
 try {
 try { Thread.sleep(1000); } catch (Exception e) { }
 throw new Exception();
 } catch (Exception e) {
 System.out.println("caught!!!");
 System.out.println(e);
 }
 }
 public static void main(String[] s) {
 run();
 }
 }
So it appears that I can't catch exceptions in main(), but anywhere
else works (even in other threads).
Wierd, huh?
 - a


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /