考虑一些可能引发检查异常(类型为的异常Exception)的代码。catch当然,你的代码是例外。你也不仅可以吞下该异常,还可以通过你的代码通过用户界面以某种方式向用户报告该异常。也许在日志文件中,或使用GUI弹出窗口。
你报告给用户的文本是否应包含异常的消息文本。也就是说,由Throwable.getMessage()或Throwable.getLocalizedMessage()?提供的文本。
我认为不是,但是似乎很多人不同意我的看法。那我怎么了?我的论据如下。
如果向用户显示错误情况,则可能应该是用户友好的消息。例外包含用户不应该/不需要知道的技术细节。
在某些情况下,显示堆栈跟踪信息可能是安全问题,所以永远不要向用户显示堆栈跟踪。
如果要向用户显示错误消息,则有些时候你有意识地决定显示弹出窗口或将消息添加到日志窗口。到那时,你可以将任何异常转换为更用户友好的消息。请注意,你可能需要比默认Exception类型提供的更多的信息,因此你可以/应该创建自己的Exception类型,其中包含所需的所有信息,以向用户提供所需的所有数据。
Exception