【发布时间】:2016-01-09 10:24:54
【问题描述】:
我一直在开发一个使用 swing 并让用户与数据库交互的 JDBC 程序。
在开发过程中,SQL 异常刚刚被打印堆栈跟踪捕获(尽管它们还没有发生 - 仍然需要防止异常。) 我应该如何以用户友好的方式处理异常?有一个对话框说: '数据库错误' ? 我应该向用户透露多少信息,给他们太多细节可能是不安全的,但是再一次,他们无法修复任何东西或通知我们错误。
【问题讨论】:
-
您可以记录此类错误,将堆栈跟踪作为邮件发送到您的错误捕获帐户,并以高优先级查看它。在客户端,您可以简单地显示“与您的帐户建立连接时出错。请稍后再试。”这样可以为您争取一点时间来解决问题。
-
太好了,谢谢。争取一点时间听起来像是一个计划。
-
那我马上给你答复
-
每个错误都将是上下文相关的,例如,由于连接失败而提供给用户的信息将不同于选择查询(可能还有插入/更新)消息。您需要确定是用户错误还是代码错误,例如,是用户在查询中输入了错误的值还是您的代码搞砸了
-
我们通常在工作中做的是显示“一般”消息(查询失败),然后是来自异常的“消息”,然后我们有一个“报告”按钮来报告异常(只是通过电子邮件发送)和显示/隐藏堆栈跟踪功能,因为当它在您自己的脸上爆炸时,很高兴能够立即看到它