Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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 应否";调用函数";是“a”中的前缀;“好”;异常消息?_Java_Exception_Exception Handling - Fatal编程技术网

Java 应否";调用函数";是“a”中的前缀;“好”;异常消息?

Java 应否";调用函数";是“a”中的前缀;“好”;异常消息?,java,exception,exception-handling,Java,Exception,Exception Handling,我总是将“调用函数”的名称作为所有异常消息的前缀 throw new IllegalArgumentException("setTheNumber: i_number (" + i_number + ") must be greater than zero."); 我想我最初是在几年前查看日志时开始这样做的,日志中除了异常的getMessage()(没有堆栈跟踪)之外没有任何内容 另一种可能的情况是,异常消息似乎是由函数抛出的,而不是实际抛出的(例如,与我的库的用户更相关的函数)。然而,我不

我总是将“调用函数”的名称作为所有异常消息的前缀

throw  new IllegalArgumentException("setTheNumber: i_number (" + i_number + ") must be greater than zero.");
我想我最初是在几年前查看日志时开始这样做的,日志中除了异常的
getMessage()
(没有堆栈跟踪)之外没有任何内容

另一种可能的情况是,异常消息似乎是由函数抛出的,而不是实际抛出的(例如,与我的库的用户更相关的函数)。然而,我不确定这是否足够有效

使用调用函数为每个异常消息添加前缀是否是一种好的做法?还是应该期望堆栈跟踪始终可用


谢谢您的建议。

如果发生错误,最好记录完整的堆栈跟踪,而不必担心方法名称。异常情况下应该抛出异常-当确实出现问题时,最好记录整个跟踪,这将有助于调试问题。

如果出现错误,最好记录完整的堆栈跟踪,而不必担心方法名称。异常情况下应该抛出异常-当确实出现问题时,最好记录整个跟踪,这将有助于调试问题。

对于明显的抛出者,可以使用异常包装来缓解由此带来的混乱,无论何时只要你收到消息,你应该改变你的进程来获得完整的堆栈跟踪,依我看。当抛出被重构成一个不同的方法时,你认为维护程序员会记得改变你的消息的可能性有多大?好吧,这是没有意义的,因为我刚刚从我的库中的错误消息中消除了所有调用函数的假象。不过,我所做的是为核心错误检查函数提供了一个变量,称为
s\u clgFunc
。它起作用了。对于明显的抛出者,异常包装可以用来减轻混淆,因为无论何时只要收到消息,都应该更改进程以获得完整的堆栈跟踪,我认为,当抛出被重构为不同的方法时,维护程序员会记住更改消息的可能性有多大?好吧,这是没有意义的,因为我刚刚从库中的错误消息中消除了调用函数的所有外观。不过,我所做的是为核心错误检查函数提供了一个变量,称为
s\u clgFunc
。成功了,你每天都能学到新东西。我一直在做,因为我一直在做。你每天都能学到新东西。我一直在做,因为我一直在做。