我正在使用try catch块来捕获异常。控制台显示它抛出一个空值。但它不会陷入困境。
try {
System.out.println("Exception here "+SomeObject.getValue());
} catch (NullPointerException e) {
// TODO: handle exception
SomeObject so = new SomeObject();
}
SomeObject.setValue();
}
如何处理。我还可以使用方法级别throws NullPointerException
吗?
答案 0 :(得分:2)
它确实会进入catch区域。该行还有另一个潜在的NullPointerException(假设你试图说)
so.setValue();
说过不建议抛出RuntimeException。最好不要通过try / catch而是通过简单的条件检查来处理代码中的NullPointerException
答案 1 :(得分:0)
捕获UnChecked Exceptions是一个坏主意,而不是捕获NullPointerExcetpion,您可以在If条件中简单地检查空值。
if(SomeObject.getValue()!=null)
System.out.println(SomeObject.getValue());
答案 2 :(得分:0)
您可以在catch
中添加另一个try块try {
doSomething();
} catch (IOException) {
try {
doSomething();
} catch (IOException e) {
throw new ApplicationException("Failed twice at doSomething" +
e.toString());
}
} catch (Exception e) {
}