c# 异常

简介: c# 异常 c#中,所有的异常都表现为类的对象,这些类继承自System.Exception。 System.Exception 属性 属性 说明 Message 描述错误情况的文本 Source 导致异常的应用程序或对象名 StackTrace 栈上方法调用的信息,有助于追踪抛出异常的方法    

c# 异常

c#中,所有的异常都表现为类的对象,这些类继承自System.Exception。

System.Exception 属性
属性 说明
Message 描述错误情况的文本
Source 导致异常的应用程序或对象名
StackTrace 栈上方法调用的信息,有助于追踪抛出异常的方法
   
   
系统定义的常用异常
名称 说明
OutOfMemoryException new 操作分配内存失败
StackOverflowException 递归层次过深
NullReferenceException 对象为空
IndexOutOfRange 数组越界
Arithmetic 算术操作异常
DivideByZero 除以0异常
Overflow 溢出
ArrayTypeMismatch 数组类型不匹配

代码结构为

throw语句用于将异常抛出,既可以是系统定义的异常也可以是用户定义的。
如;
private void ToSoaRequest_Validate(string flightNo)
{
      if (string.IsNullOrEmpty(flightNo) ||
          flightNo.Length < CommonConstant.FLIGHT_NO_MIN_LENGTH ||
          flightNo.Length > CommonConstant.FLIGHT_NO_MAX_LENGTH)
            {
                throw new CarRestfulException(ErrorCode.Data_Invalid_Fail);
            }
}


try{可能发生异常的代码}
catch(参数1){捕获相应异常后的操作}
catch(参数2){捕获相应异常后的操作}

finally{异常发生与否都要执行的代码,通常为清理工作}


目录
相关文章
C# Excel 异常HRESULT 0x800AC472
图1 图2     出现图1的问题,大部分原因是导出excel时一开始就将excel.visible=true,当数据量太大的时候,就会看到数据被一条条的写进excel里面,这个时候随意点击excel就会报出上面的错误。
5522 0
|
23小时前
|
安全 C# 开发者
【C# 多线程编程陷阱揭秘】:小心!那些让你的程序瞬间崩溃的多线程数据同步异常问题,看完这篇你就能轻松应对!
【8月更文挑战第18天】多线程编程对现代软件开发至关重要,特别是在追求高性能和响应性方面。然而,它也带来了数据同步异常等挑战。本文通过一个简单的计数器示例展示了当多个线程无序地访问共享资源时可能出现的问题,并介绍了如何使用 `lock` 语句来确保线程安全。此外,还提到了其他同步工具如 `Monitor` 和 `Semaphore`,帮助开发者实现更高效的数据同步策略,以达到既保证数据一致性又维持良好性能的目标。
4 0
|
2月前
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
17 0
|
3月前
|
开发框架 安全 .NET
C# .NET面试系列三:集合、异常、泛型、LINQ、委托、EF!
<h2>集合、异常、泛型、LINQ、委托、EF! #### 1. IList 接口与 List 的区别是什么? IList 接口和 List 类是C#中集合的两个相关但不同的概念。下面是它们的主要区别: <b>IList 接口</b> IList 接口是C#中定义的一个泛型接口,位于 System.Collections 命名空间。它派生自 ICollection 接口,定义了一个可以通过索引访问的有序集合。 ```c# IList 接口包含一系列索引化的属性和方法,允许按索引访问、插入、移除元素等。 由于是接口,它只定义了成员的契约,而不提供具体的实现。类似于 IEnumera
293 2
|
3月前
|
安全 编译器 C#
C#中的可空引用类型:减少空引用异常的利器
【1月更文挑战第9天】C# 8.0中引入的可空引用类型特性,它通过在编译时提供更精确的静态分析,帮助开发者减少运行时的空引用异常。文章详细阐述了可空引用类型的工作原理、如何配置项目以使用此特性,以及在实际编码中如何利用可空引用类型提升代码的健壮性和可读性。
|
开发框架 JSON 前端开发
【C#】.net core2.1,自定义全局类对API接口和视图页面产生的异常统一处理
在开发一个网站项目时,异常处理和过滤功能是最基础的模块 本篇文章就来讲讲,如何自定义全局异常类来统一处理
230 0
|
C# 数据处理
C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值)
原文:C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值) 1、问题的提出: 电池生产中,遇到一批电池的测量结果数据: 电压值 电池个数 电压值 电池个数 电压值 电池个数 电压值 电池个数 0.
1692 0
C#(二十六)之C#异常
异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。
114 0
C#(二十六)之C#异常
|
C#
C#多线程开发-处理异步操作中的异常
C#多线程开发-处理异步操作中的异常
170 0