用try / catch包围Callable.call方法或Runnable.run方法…
例如:
public void run(){ try { // ... pre } catch(final IOException ex) { // handle it } catch(final RuntimeException ex) { // handle it } catch(final Exception ex) { // handle it } catch(final Error ex) { // handle it } catch(final Throwable ex) { // handle it }}
请注意,捕获除编译器也告诉您的内容之外的其他内容(在我的示例中为IOException)不是一个好主意,但是有时候,这听起来像其中之一,如果处理得当,它可以解决。
请记住,诸如Error之类的事情非常糟糕-
VM内存不足等。因此,请谨慎处理它们(这就是为什么我将它们分离到自己的处理程序中,而不是仅仅执行catch(final Throwable
ex)之类的原因其他)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)