如何在C#中创建用户定义的异常?

与其他任何编程语言一样,在C#中,您可以轻松创建用户定义的异常。用户定义的异常类是从Exception类派生的。

在下面的示例中,创建的异常不是内置异常。

TempIsZeroException

您可以尝试运行以下代码,以了解如何在C#中创建用户定义的异常。

示例

using System;
namespace Demo {
   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: Exception {
   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