c# - 抛出异常有什么意义?

标签 c# exception-handling

我正在用 C# 编写一个登录类,我正在努力为空密码、密码字符不足等抛出异常。我突然想到的是——我该如何处理这些异常?他们是为了什么/谁?无论我是否处理异常,应用程序此时仍会失败。其他开发人员,客户是异常(exception)吗!?

最佳答案

异常用于提供有关特定故障原因的详细信息。如果您只是让代码自行失败,您将错失提供有关失败实际原因的更丰富细节的机会。

您的用户不应看到您添加到异常(exception)情况中的信息。相反,请考虑添加一个全局异常处理程序来捕获您的详细异常、记录信息,然后向您的用户显示一条友好的错误消息。

异常不仅会在您的日志中提供有关失败原因的详细消息(即您的示例中的密码为空),还会提供指示导致异常的调用链的调用堆栈信息。在登录表单中,这不太重要。但是,在多线程异步客户端/服务器应用程序中,这可能很关键。

本文包含许多很好的指南:http://msdn.microsoft.com/en-us/library/ms229005.aspx

关于c# - 抛出异常有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4442456/

相关文章:

c# - 对同一模型使用 ASP-FOR 两次

java - 在 Spring MVC Controller 上处理异常

c# - Web API 2 OData错误消息作为XML返回

java - 在 'try' block 中调用不抛出异常的方法

java - 使用类对象作为泛型类型

c# - 序列化 XML 相同的标签两次

c# - Android键盘覆盖文本框问题

c# - 如何在 C# 中对日期字段进行周末舍入(不使用 LINQ)?

c# - Windows 服务在安装时不工作,在 Debug模式下工作正常;移动/删除文件时崩溃

c# - 在 LiteDB c# .net 中获取最新插入