C#学习教程六

不点 阅读:589 2021-04-01 10:03:00 评论:0

C#异常机制具有如下的特征

          1、所有异常必须用System.Exception类或者从System.Exception派生的类实例来标识。

           2、可以使用fianlly块编写在正常执行或异常情况下都要执行的终止代码

            3、系统级的异常如移除、被零除和null等都对应地定义了其匹配的异常类,并且与应用程序级的错误状态处于同等地位。


C # 异常代码

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
 
 
namespace Hello_World 
{ 
   public  class Conversion 
    { 
       public static void Main(string[] args) 
       { 
           int a = 100; 
           int b = 0; 
           int c = a / b; 
           Console.WriteLine("c 的值:" + c); 
       } 
    } 
} 


效果截图:


进行相关异常处理结果

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
 
 
namespace Hello_World 
{ 
   public  class Conversion 
    { 
       public static void Main(string[] args) 
       { 
           int a = 100; 
           int b = 0; 
           try 
           { 
               int c = a / b; 
           } 
           catch (Exception e) 
           { 
               Console.WriteLine("异常信息:" + e.Message); 
           } 
           finally { 
               Console.WriteLine("我总是执行"); 
           } 
          
          
       } 
    } 
} 


效果截图:

相关异常类介绍:

c#中异常捕获catch{}常用的异常类型

Exception 类 
 描述


SystemException 其他用户可处理的异常的基本类
ArgumentException 方法的参数是非法的
ArgumentNullException 一个空参数传递给方法,该方法不能接受该参数
ArgumentOutOfRangeException 参数值超出范围
ArithmeticException 出现算术上溢或者下溢
ArrayTypeMismatchException 试图在数组中存储错误类型的对象
BadImageFormatException 图形的格式错误
DivideByZeroException 除零异常
DllNotFoundException 找不到引用的DLL
FormatException 参数格式错误
IndexOutOfRangeException 数组索引超出范围
InvalidCastException 使用无效的类
InvalidOperationException 方法的调用时间错误
MethodAccessException 试图访问思友或者受保护的方法
MissingMemberException 访问一个无效版本的DLL
NotFiniteNumberException 对象不是一个有效的成员
NotSupportedException 调用的方法在类中没有实现
NullReferenceException 试图使用一个未分配的引用
OutOfMemoryException 内存空间不够
PlatformNotSupportedException 平台不支持某个特定属性时抛出该错误
StackOverflowException 堆栈溢出

 

 

Exception:所有异常对象的基类。
SystemException:运行时产生的所有错误的基类。
IndexOutOfRangeException:当一个数组的下标超出范围时运行时引发。
NullReferenceException:当一个空对象被引用时运行时引发。
InvalidOperationException:当对方法的调用对对象的当前状态无效时,由某些方法引发。

ArgumentException:所有参数异常的基类。
ArgumentNullException:在参数为空(不允许)的情况下,由方法引发。
ArgumentOutOfRangeException:当参数不在一个给定范围之内时,由方法引发。
InteropException:目标在或发生在CLR外面环境中的异常的基类。
ComException:包含COM类的HRESULT信息的异常。
SEHException:封装Win32结构异常处理信息的异常。
SqlException:封装了SQL操作异常。


标签:C#
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号