解决java异常的方法: 1.首先要把异常打印处理(有时有人会直接catch,然后不打印任何日志) 2.然后分析使用的java api,自己是否熟悉,如果不熟悉,看看java 源码有什么注释可以帮助你来分析问题的原因 3.上网搜资料(很多人很多时候上来就去网上搜,这种做法不可取,甚至搜了半天也没有解决问题,应该先看源码注释来分析) 比如, java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:206) 你是看不出什么的,但是看到ExecutionException注释,你就知道怎么做了(使用getCause来inspect线程运行的时候哪里错了)
/** * Exception thrown when attempting to retrieve the result of a task * that aborted by throwing an exception. This exception can be * inspected using the {@link #getCause()} method. * * @see Future * @since 1.5 * @author Doug Lea */ public class ExecutionException extends Exception {
|