public class Demoe {
public void f() {
System.out.println("Throwing MyException from f()");
}
public static void main(String[] args) {
Demoe aa = null;
try {
aa.f(); throw new NullPointerException("afafafa");
} catch(NullPointerException e) {
System.out.println("Caught Exception1"+e.getMessage());
e.printStackTrace();
} finally {
System.out.println("Made it to finally");
}
}
}
Caught Exception1null 为啥那个afafafa没有打印出来,getMessage()不是打印的异常的详细消息字符串吗?
java.lang.NullPointerException
at Demoe.main(Demoe.java:14)
Made it to finally
try {
aa.f(); //执行到这一句就报空指针了,aa=null
throw new NullPointerException("afafafa");//这句还没执行到
} catch(NullPointerException e) {
System.out.println("Caught Exception1"+e.getMessage());
e.printStackTrace();
}
把throw 异常的逻辑放在方法f()中,然后在再main中捕获异常
nullpointerexception
java.lang.NullPointerException
空指针
指代错误或者是位置放错
要先 Demo aa = new Demo();