gpt4 book ai didi

java - 为什么 `exception` 在任何地方都看不到?

转载 作者:行者123 更新时间:2023-12-01 14:34:42 25 4
gpt4 key购买 nike

我有一段写得不好的代码,就像这样:

HashMap<String, TceFile> mapPresetLastKdf = new HashMap<String, TceFile>( (HashMap<String, TceFile>) RsessionVars.get( sessionVars, Constants.SVAR_ENC_PRESET_LAST_KDF_MAP ) );   
HashMap<String, String> mapPresetApid = new HashMap<String, String >( (HashMap<String, String >) RsessionVars.get( sessionVars, Constants.SVAR_ENC_PRESET_APID_MAP ) );

显然,如果 RsessionVars.get 返回 null,第一行就会失败。在这种情况下,第二行永远不会被执行。

但是,Eclips IDE 不会向我发出此故障信号,它会继续执行,因为一切正常。

恐怕代码中有很多地方都像这样。我怎样才能检测到这些?

如何强制 Eclipse 停止并报告类似这样的错误?

编辑:
这似乎是异常处理的问题。

HashMap<String, TceFile> mymap = new HashMap<String, TceFile>( null ); 

这应该报告null指针异常。
为什么这个异常在任何地方都看不到?

最佳答案

可以捕获的异常与根本无法捕获的异常的逻辑原因之间是有区别的。在这种情况下,返回并随后设置 null 值是有效的做法。很可能在后续语句中,您尝试向某个方法发送此变量(因此为空),并且您收到空指针异常。

在这种情况下,您只能在后续的空指针异常上中断,意识到原因是变量中的空值,然后返回并使用代码中的断点再次调试以查看该空值在哪里来自。

关于java - 为什么 `exception` 在任何地方都看不到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16589760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com