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

2019-12-30 17:50:49王冬梅

(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#教程频道。