C#如何创建用户自定义异常?

  • 首页
  • 欧洲杯360直播网站
  • 欧洲杯360直播平台
  • 栏目导航
    C#如何创建用户自定义异常?
    浏览: 发布日期:2021-06-22

      概述

    异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally和throw。

    try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。throw:当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。

    自定义异常

    您也可以定义自己的异常。用户自定义的异常类是派生自 ApplicationException 类。

    using System; namespace UserDefinedException {    class TestTemperature    {       static void Main(string[] args)       {          Temperature temp = new Temperature();          try          {             temp.showTemp();          }          catch(TempIsZeroException e)          {             Console.WriteLine("TempIsZeroException: {0}", e.Message);          }          Console.ReadKey();       }    } } public class TempIsZeroException: ApplicationException {    public TempIsZeroException(string message): base(message)    {    } } public class Temperature {    int temperature = 0;    public void showTemp()    {       if(temperature == 0)       {          throw (new TempIsZeroException("Zero Temperature found"));       }       else       {          Console.WriteLine("Temperature: {0}", temperature);       }    } } 

    当上面的代码被编译和执行时,它会产生下列结果:

    TempIsZeroException: Zero Temperature found 
    抛出对象

    如果异常是直接或间接派生自 System.Exception 类,您可以抛出一个对象。您可以在 catch 块中使用 throw 语句来抛出当前的对象,如下所示:

    Catch(Exception e) {    ...    Throw e } 

    【编辑推荐】

    鸿蒙官方战略合作共建——HarmonyOS技术社区 光通信发展为何不如 5G,专家直言:各自为战 智慧医疗迈入快车道,多种智能技术被看好 Linkerd 2.10(Step by Step)(四) 如何配置外部 Prometheus 实例 勒索攻击频发大厂纷纷中招企业该如何防护? IDC发布《2021 年第一季度中国IT安全硬件市场跟踪报告》