您现在的位置是:亿华云 > IT科技类资讯
C#如何创建用户自定义异常?
亿华云2025-10-08 23:32:09【IT科技类资讯】1人已围观
简介概述异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。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 }【编辑推荐】
光通信发展为何不如 5G,专家直言:各自为战 智慧医疗迈入快车道,多种智能技术被看好 Linkerd 2.10(Step by Step)(四) 如何配置外部 Prometheus 实例 勒索攻击频发大厂纷纷中招企业该如何防护? IDC发布《2021 年第一季度中国IT安全硬件市场跟踪报告》网站模板很赞哦!(45)