客户端站点上未为 NullPointerException 生成堆栈跟踪?

No stack trace generated on client site for NullPointerException?

提问人: 提问时间:10/10/2008 最后编辑:Adam Bellaire 更新时间:10/11/2008 访问量:985

问:

我已经学习 Java 大约一个月了,对像这样的客户端/服务器情况不是很熟悉。

基本上,我遇到了这样一种情况,即我们的客户端 java 软件 (GUI) 显示一个 nullpointerexception 弹出窗口,但在客户端没有堆栈跟踪。有人不得不去服务器端检查堆栈跟踪。

我的问题是,客户端不应该也收到这些宝贵的信息吗?像这样的情况可以吗,理由是只需要一个堆栈跟踪的副本?

Java 客户端 堆栈跟踪 nullPointerException

评论


答:

2赞 OscarRyz 10/10/2008 #1

没有。不建议从后面向客户端展示应用的工作方式。主要是出于安全原因。堆栈跟踪显示所有被调用的对象、方法,如果使用调试信息编译,甚至行。对于客户端来说,信息太多了,可以将其放在服务器上。

在SQL注入、跨端脚本等我不记得的脚本中,异常处理不当是一个安全漏洞。

编辑: 以下是其他漏洞(尽管我没有看到:(列出的漏洞)

http://en.wikipedia.org/wiki/Vulnerability_(计算)

1赞 Peter 10/10/2008 #2

客户只需要知道它需要知道的帽子。 在很多情况下,不显示客户端上的任何堆栈跟踪是完全可以的。 用户应收到明确的错误消息,但不关心堆栈跟踪。

出于调试目的,堆栈跟踪通常会丢失,应用程序会给出错误,用户重新启动它并消失任何排除,因此如果您需要了解错误,请使用日志记录框架。