重新定义UI层和太多信息原则的特定异常

时间:2010-07-01 22:30:23

标签: exception exception-handling

如果要重新抛出UI层的异常(以便用户看到它),重新抛出特定异常(例如,argumentnullexception)总是明智的吗?

我看到的问题是,他使用的技术信息太多了。所有我需要知道的是问题和原因,隐藏任何细节,甚至没有提到例外。

我看到在我正在审核的一些代码中重新抛出一个特定的异常,并且想知道这是否真的值得推荐?

谢谢

3 个答案:

答案 0 :(得分:0)

我认为任何异常都不应该永远被抛到UI层。它应该被捕获,记录并翻译成对用户有意义的东西。

答案 1 :(得分:0)

您是否记录了特定的例外情况?如果答案是肯定的,我会说重新抛出一般情况。我假设您的UI层中有一个try/catch块,它可以执行有意义的操作,例如在异常中显示带有错误消息的消息框。

答案 2 :(得分:0)

一旦到达UI层,您对异常做了什么?

如果您只是让系统异常处理程序捕获它并关闭您的程序,那么越具体越好,因为用户无论如何都不会看到它。

如果您在UI层中捕获它并告诉用户出了什么问题,那么越具体越好,并且UI层可能会担心“让它变得更好”,以便用户不会被太多的技术信息所困扰。