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

问题描述:

我正在设计一个类库,将发送给公众使用他们的应用程序。它与他们需要在其服务器上安装的自定义数据库系统进行交互。设计第三方网站使用的自定义dll的例外

我无法决定如何从这个DLL主要是包装到自定义数据库系统抛出异常。

我想我必须创建自定义异常,可以表示不同类型的错误,包括验证,数据完整性错误等

这个DLL将最终使用的面向公众的网站。我想通过抛出适当的例外情况向最终用户提供良好的反馈意见,以便网站可以决定是否显示它们。但我不确定是否有可能预测所有的用户输入错误。如果发生意外事件,是否只是抛出一个带有错误信息的常规.net异常?

我已经使用了很多第三方的dll不给你一个明确的方法来处理这些错误,我不想成为其中之一。

到creaqte自定义异常的唯一原因是,如果调用的代码需要赶上它明确地知道你的异常和其他一些例外的区别。

如果主叫方要对待您的例外情况与InvalidOperationException完全相同,那么您应该丢弃InvalidOperationException

Choosing the Right Type of Exception to Throw

+0

数据验证错误怎么说压缩/国家不匹配? –

+0

为什么你需要一个_custom_异常呢?这是'InvalidOperationException'。由于不匹配,呼叫者会做些特别的事情吗?与找不到文件有什么不同? –

+0

是的,当发生这种异常(发生是因为最终用户输入的数据不匹配)时,应该通知他们该消息,以便用户可以纠正它,而不是仅仅说出现问题。该网站/应用程序不知道何时向用户显示味精。 –

你应该重新抛出自定义异常在您的DLL知道更多有关该错误比你正在迎头赶上,如果你不知道这件事情,那么你不知道有关它的更多,只是把它传递异常指示。

只是要清楚,这并不意味着你不能扔在检测到错误,自己的异常。