自从C#6开始就支持异常过滤器。Catch块仅在过滤器但会true时执行。捕获不同的异常类型时,可以有行为不同的代码块。在某些情况下,catch块基于异常的内容执行不同的操作。下面我们看下如何来使用异常过滤器吧:
public class MyIndexOutOfException :SystemException { public MyIndexOutOfException(string message) : base(message) { } public int ErrorCode { get; set; } } class Program { static void Main(string[] args) { try { int steInput = 12; if (steInput > 10) { throw new MyIndexOutOfException("数据超出了范围") { ErrorCode = 1 }; } } catch (MyIndexOutOfException ex) when (ex.ErrorCode!=1) { Console.WriteLine("出现了自定义错误"); } catch (MyIndexOutOfException ex) when (ex.ErrorCode == 1) { Console.WriteLine(ex.Message); } catch (Exception ex) { throw; } } }
上面例子中,自定义了一个异常处理,同事增加ErrorCode,以此啦作为过滤条件,利用关键字When+条件来进行过滤。
总结
本篇文章介绍了异常处理错误的情况及机制,我们不仅可以输出代码好难过的一般错误代码,也可以输出我们自己定义的特殊错误情况。无论编程技术有多好,程序都必须能处理可能出现的任何错误。对不同的错误采取相应的应对措施,才是正确编码的其中一步。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
您可能感兴趣的文章: