Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java null异常如何进入try-catch分支?_Java_Exception_Exception Handling - Fatal编程技术网

Java null异常如何进入try-catch分支?

Java null异常如何进入try-catch分支?,java,exception,exception-handling,Java,Exception,Exception Handling,我的java代码抛出异常e,该异常为null(调试显示e==null) 代码如何在以下位置捕捉到这一点: } catch (IOException e) { e.printStackTrace(); } 如果e为空,它怎么会有一个类型 我想到两个想法: 1) 大多数调试器显示的是e.toString()。如果您有一个异常对象,其toString()返回null(或“null”),这可能可以解释您看到的情况。调试器说e是什么类型的 2) 另一种可能是,您的源代码与当前执行的类不匹配,并且您所

我的java代码抛出异常
e
,该异常为null(调试显示
e==null

代码如何在以下位置捕捉到这一点:

} catch (IOException e) {
  e.printStackTrace();
}
如果e为空,它怎么会有一个类型

我想到两个想法:


1) 大多数调试器显示的是e.toString()。如果您有一个异常对象,其toString()返回null(或“null”),这可能可以解释您看到的情况。调试器说e是什么类型的


2) 另一种可能是,您的源代码与当前执行的类不匹配,并且您所处的行与您认为的不同。我就这样被抓住了

您如何验证
catch
块中的
e
是否为
null
?如果断点在
catch
行本身上停止,
e
此时将为
null
。但是在块内
e
将有一个值。不可能。您看到的是调试器中的一个缺陷(我自己也看到了Eclipse调试器的一些有趣的情况)。请尝试
if(e==null).
大多数调试器显示的是e.toString()。如果您有一个异常对象,其toString()返回null(或“null”),这可能可以解释您看到的情况。调试器说e是什么类型的?另一种可能性是,您的源代码与当前执行的类不匹配,并且您所处的行与您认为的不同。我就是这样被发现的。那么,出于好奇,问题出在哪一个?