【发布时间】:2014-04-23 09:49:27
【问题描述】:
显然,这是一个简化的示例,但它说明了我的观点。我正在使用第 3 方 SDK 并遇到这种情况,我可以使用以下代码重现它。
try {
java.util.List<java.lang.String> nullList;
nullList = null;
for(java.lang.String s : nullList){}
}
catch(Exception e){
e.printStackTrace();
}
这段代码将抛出一个被捕获的异常,但e 始终为空。这是为什么?
更新
我将代码复制到一个新方法,e 不再为空。当我使用 IntelliJ 时,我将跟进 JetBrains。也许这是他们的问题。
【问题讨论】:
-
您的意思是
e是NullPointerException? -
空指针异常应该/将在 foreach 循环中被抛出。
-
我们需要更多细节。
-
把它放到你的IDE中。 Exception 对象,e 为空。没有比提供更多的细节了。
-
发布堆栈跟踪和行号。如果
e是null,e.printStackTrace()将抛出自己的NullPointerException。
标签: java android exception try-catch