BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #16714同步于 2010/12/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[娱乐一下]脑残,继续

wks
2010/12/6镜像同步12 回复
这个异常为什么没有被抓住?明明已经用try-catch包围了。 package lexcatch; public class LexCatchDemo { public static void main(String[] args) { Runnable r=null; try { r = new Runnable() { @Override public void run() { System.out.println("in"); if(5==5) { throw new RuntimeException("Something Wrong!"); } System.out.println("out"); } }; } catch (Exception e) { System.out.println("Caught!"); } r.run(); } }
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
ox机器人#1 · 2010/12/6
匿名内部类神马的最讨厌了 try { r.run(); } catch (Exception e) { System.out.println("Caught Here!"); } 【 在 wks (cloverprince) 的大作中提到: 】 : 这个异常为什么没有被抓住?明明已经用try-catch包围了。 : package lexcatch; : public class LexCatchDemo { : ...................
ox机器人#2 · 2010/12/6
还是把问题继续吧,为什么这样又没有caught到Exception public class LexCatchDemo { public static void main(String[] args) { Runnable r=null; try { r = new Runnable() { @Override public void run() { System.out.println("in"); if(5==5) { throw new RuntimeException("Something Wrong!"); } System.out.println("out"); } }; } catch (Exception e) { System.out.println("Caught!"); } try { new Thread(r).start(); } catch (Exception e) { System.out.println("Caught Here!"); } } } 【 在 ox (小贝) 的大作中提到: 】 : 匿名内部类神马的最讨厌了 : try { : r.run(); : ...................
wks机器人#3 · 2010/12/6
因为词法定界的try-catch仅限于当前栈,也就是线程。 这回呢? package lexcatch; import java.lang.Thread.UncaughtExceptionHandler; public class LexCatchDemo { public static void main(String[] args) { Runnable r = null; try { r = new Runnable() { @Override public void run() { System.out.println("in"); if (5 == 5) { throw new RuntimeException("Something Wrong!"); } System.out.println("out"); } }; } catch (Exception e) { System.out.println("Caught!"); } Thread t = new Thread(r); t.setUncaughtExceptionHandler(new UncaughtExceptionHandler() { @Override public void uncaughtException(Thread t, Throwable e) { System.out.println("Caught.... err... here!"); } }); try { t.start(); } catch (Exception e) { System.out.println("Caught Here!"); } } }
ox机器人#4 · 2010/12/6
因为当 Thread 因未捕获的异常而突然终止时,会调用Thread.UncaughtExceptionHandler来处理异常 那么楼下请回答,Otherthing Wrong!这个异常跑到哪里去了 import java.lang.Thread.UncaughtExceptionHandler; public class LexCatchDemo { public static void main(String[] args) { Runnable r = null; try { r = new Runnable() { @Override public void run() { System.out.println("in"); if (5 == 5) { throw new RuntimeException("Something Wrong!"); } System.out.println("out"); } }; } catch (Exception e) { System.out.println("Caught!"); } Thread t = new Thread(r); t.setUncaughtExceptionHandler(new UncaughtExceptionHandler() { @Override public void uncaughtException(Thread t, Throwable e) { System.out.println("Caught.... err... here!"); throw new RuntimeException("Otherthing Wrong!"); } }); try { t.start(); } catch (Exception e) { System.out.println("Caught Here!"); } } } 【 在 wks 的大作中提到: 】 : 因为词法定界的try-catch仅限于当前栈,也就是线程。 : 这回呢? : package lexcatch; : ...................
xw2423机器人#5 · 2010/12/6
不是在uncaughtException处理了么 【 在 wks (cloverprince) 的大作中提到: 】 : 因为词法定界的try-catch仅限于当前栈,也就是线程。 : 这回呢? : package lexcatch; : ...................
xw2423机器人#6 · 2010/12/6
问题循环了 【 在 ox (小贝) 的大作中提到: 】 : 因为当 Thread 因未捕获的异常而突然终止时,会调用Thread.UncaughtExceptionHandler来处理异常 : 那么楼下请回答,Otherthing Wrong!这个异常跑到哪里去了 : import java.lang.Thread.UncaughtExceptionHandler; : ...................
wks机器人#7 · 2010/12/6
哪里都没有捕获吗?难道是被安静地丢掉了? 说实话我最怕这种异常。最让人捉摸不定了,调试都找不出来。
ppooooll机器人#8 · 2010/12/6
【 在 ox 的大作中提到: 】 : 因为当 Thread 因未捕获的异常而突然终止时,会调用Thread.UncaughtExceptionHandler来处理异常 : 那么楼下请回答,Otherthing Wrong!这个异常跑到哪里去了 : import java.lang.Thread.UncaughtExceptionHandler; : ................... 这个本来就是处理没有捕获的异常的,从里面再抛异常,会有谁接着呢?
ox机器人#9 · 2010/12/6
恩,我知道。。。所以这个异常就不知道哪去了。。。 【 在 ppooooll (小破坑) 的大作中提到: 】 : 这个本来就是处理没有捕获的异常的,从里面再抛异常,会有谁接着呢?