C#中异常处理的示例分析-创新互联

这篇文章主要介绍C#中异常处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、蔚县网站维护、网站推广。

C#异常处理总结及简单实例

一、异常处理的理解?

异常处理是指程序在运行过程中,发生错误会导致程序退出,这种错误,就叫做异常。

因此处理这种错误,就称为异常处理。

二、异常处理如何操作?

C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。

1、try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。

2、catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。

3、finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。

例如如果你打开一个文件,不管是否出现异常文件都要被关闭。

4、throw:当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。

语法示例:

try

{

  // 引起异常的语句

}

catch( ExceptionName e1 )

{

  // 错误处理代码

}

catch( ExceptionName e2 )

{

  // 错误处理代码

}

catch( ExceptionName eN )

{

  // 错误处理代码

}

finally

{

  // 要执行的语句

}

三、C#中的异常类

C# 异常是使用类来表示的。C# 中的异常类主要是直接或间接地派生于System.Exception

(1).由System.SystemException派生的异常类型:

System.AccessViolationException 在试图读写受保护内存时引发的异常。

System.ArgumentException 在向方法提供的其中一个参数无效时引发的异常。

System.Collections.Generic.KeyNotFoundException 指定用于访问集合中元素的键与集合中的任何键都不匹配时所引发的异常。

System.IndexOutOfRangeException 访问数组时,因元素索引超出数组边界而引发的异常。

System.InvalidCastException 因无效类型转换或显示转换引发的异常。

System.InvalidOperationException 当方法调用对于对象的当前状态无效时引发的异常。

System.InvalidProgramException 当程序包含无效Microsoft中间语言(MSIL)或元数据时引发的异常,这通常表示生成程序的编译器中有bug。

System.IO.IOException 发生I/O错误时引发的异常。

System.NotImplementedException 在无法实现请求的方法或操作时引发的异常。

System.NullReferenceException 尝试对空对象引用进行操作时引发的异常。

System.OutOfMemoryException 没有足够的内存继续执行程序时引发的异常。

System.StackOverflowException 挂起的方法调用过多而导致执行堆栈溢出时引发的异常。

(2).由System.ArgumentException派生的异常类型:

System.ArgumentNullException 当将空引用传递给不接受它作为有效参数的方法时引发的异常。

System.ArgumentOutOfRangeException 当参数值超出调用的方法所定义的允许取值范围时引发的异常。

(3).由System.ArithmeticException派生的异常类型:

System.DivideByZeroException 试图用零除整数值或十进制数值时引发的异常。

System.NotFiniteNumberException 当浮点值为正无穷大、负无穷大或非数字(NaN)时引发的异常。

System.OverflowException 在选中的上下文中所进行的算数运算、类型转换或转换操作导致溢出时引发的异常。

(4).由System.IOException派生的异常类型:

System.IO.DirectoryNotFoundException 当找不到文件或目录的一部分时所引发的异常。

System.IO.DriveNotFoundException 当尝试访问的驱动器或共享不可用时引发的异常。

System.IO.EndOfStreamException 读操作试图超出流的末尾时引发的异常。

System.IO.FileLoadException 当找到托管程序却不能加载它时引发的异常。

System.IO.FileNotFoundException 试图访问磁盘上不存在的文件失败时引发的异常。

System.IO.PathTooLongException 当路径名或文件名超过系统定义的大长度时引发的异常。

(5).其他常用异常类型:

ArrayTypeMismatchException 试图在数组中存储错误类型的对象。

BadImageFormatException 图形的格式错误。

DivideByZeroException 除零异常。

DllNotFoundException 找不到引用的dll。

FormatException 参数格式错误。

MethodAccessException 试图访问私有或者受保护的方法。

MissingMemberException 访问一个无效版本的dll。

NotSupportedException 调用的方法在类中没有实现。

PlatformNotSupportedException 平台不支持某个特定属性时抛出该错误。

四、示例

class MyExceptionTest

{

  static double SafeDivision(double x, double y)

  {

    if (y == 0)

      throw new System.DivideByZeroException();

    return x / y;

  }

  static void Main()

  {

    double a = 98, b = 0;

    double result = 0;

    try

    {

      result = SafeDivision(a, b);

      Console.WriteLine("{0} divided by {1} = {2}", a, b, result);

    }

    catch (DivideByZeroException e)

    {

      Console.WriteLine("Attempted divide by zero.");

    }

  }

}

以上是“C#中异常处理的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联网站建设公司行业资讯频道!

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:C#中异常处理的示例分析-创新互联
文章转载:http://ybzwz.com/article/csgdgh.html