有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在客户端站点上没有为NullPointerException生成堆栈跟踪?

我已经学习Java大约一个月了,对这种客户机/服务器的情况不太熟悉

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

我的问题是,客户方不也应该收到这些宝贵的信息吗?基本原理堆栈只需要一个副本


共 (2) 个答案

  1. # 1 楼答案

    客户只需要知道自己需要知道的内容。 在很多情况下,不在客户身上显示任何stacktraces是完全可以接受的。 你的用户应该得到明确的错误信息,但不关心堆栈跟踪

    出于调试的目的,stacktrace通常会丢失,应用程序会出现错误,用户会重新启动它,任何异常都会消失,所以如果需要了解错误,请使用日志框架

  2. # 2 楼答案

    不是真的。不建议向客户端展示你的应用程序的工作方式。主要是出于安全原因。stacktrace显示所有被调用的对象、方法,如果使用调试信息编译,甚至行。这对客户端来说太多了,把它放在服务器上也没关系

    在SQL注入、跨端脚本和其他我不记得的问题中,不正确的异常处理是一个安全漏洞

    编辑: 以下是其他漏洞(虽然我没有看到这一个列出:()

    http://en.wikipedia.org/wiki/Vulnerability_(computing)