繁体   English   中英

为第三方网站使用的自定义dll设计例外

[英]designing exceptions for custom dll used by third party web sites

我正在设计一个类库,该类库将发送给公众以用于其应用程序。 它与他们需要安装在服务器上的自定义数据库系统进行交互。

我在决定如何从此dll引发异常方面遇到麻烦,该dll主要是自定义db系统的包装。

我假设我必须创建自定义异常,以指示各种类型的错误,包括验证,数据完整性错误等。

该dll最终将由面向公众的网站使用。 我想通过抛出适当的异常来为最终用户提供良好的反馈,以便站点可以决定是否显示它们。 但是我不确定是否可以预期所有用户输入错误。 如果发生异常事件,我是否会在错误消息中抛出常规的.net异常?

我使用了许多第三方dll,这些dll无法为您提供清晰的错误处理方式,我也不想成为其中的一个。

创建自定义异常的唯一原因是调用代码是否需要显式捕获它才能知道您的异常与其他异常之间的区别。

如果调用方将对待您的异常与说InvalidOperationException完全相同,则应改为抛出InvalidOperationException

请参见选择正确的异常类型以引发

您应该抛出自定义异常,即您的DLL比所捕获的异常了解更多有关错误的信息,如果您不知道该错误,那么您就不知道更多有关该错误,只需将其传递出去即可。

只是要清楚一点,这并不意味着您不能在检测错误时抛出自己的异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM