c# – 有没有办法抛出自定义异常没有Exception类
发布时间:2020-12-15 06:44:02 所属栏目:百科 来源:网络整理
导读:在C#(即.NET)中有什么办法抛出一个自定义异常,但是没有编写所有的代码来定义你自己的异常派生的异常类? 我正在考虑类似的东西,例如在Oracle PL / SQL中,您可以直接写入 raise_application_error(-20001,'An arbitary error message'); 在任何地方. 解决方法
在C#(即.NET)中有什么办法抛出一个自定义异常,但是没有编写所有的代码来定义你自己的异常派生的异常类?
我正在考虑类似的东西,例如在Oracle PL / SQL中,您可以直接写入 raise_application_error(-20001,'An arbitary error message'); 在任何地方. 解决方法throw new Exception("A custom message for an application specific exception"); 还不够好? 如果相关的话,你也可以抛出一个更具体的异常.例如, throw new AuthenticationException("Message here"); 要么 throw new FileNotFoundException("I couldn't find your file!"); 可以工作 请注意,您应该不会在MSDN上抛出新的ApplicationException(). 不定制异常的主要原因是调用者捕获更困难 – 它们不会知道这是一个普遍的异常还是一个特定于您的代码的异常,而不会对exception.Message属性做一些简单的检查.你可以做一些简单的事情: public class MyException : Exception { MyException(int severity,string message) : base(message) { // do whatever you want with severity } } 以避免这种情况. 更新:Visual Studio 2015现在提供了一些自动实现异常扩展类 – 如果您使用光标在:Exception上打开“快速操作和重构菜单”,只需将其声明为“生成所有构造函数”即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |