软件编程
位置:首页>> 软件编程>> C#编程>> 如何用C#创建用户自定义异常浅析

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

作者:conan5566  发布时间:2023-06-10 20:06:16 

标签:c#,异常,自定义

概述

异常是在程序执行期间出现的问题。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
}

总结

来源:https://mp.weixin.qq.com/s/d-QWtPEHBg79ATV4roF8Kg

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com