zoukankan      html  css  js  c++  java
  • 异常

    C# Execption

    using System;

    异常类型 描述

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

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

    常见具体的异常对象:

      ArgumentNullException 一个空参数传递给方法,该方法不能接受该参数 
      ArgumentOutOfRangeException 参数值超出范围 
      ArithmeticException 出现算术上溢或者下溢 
      ArrayTypeMismatchException 试图在数组中存储错误类型的对象 
      BadImageFormatException 图形的格式错误 
      DivideByZeroException 除零异常 
      DllNotFoundException 找不到引用的DLL 
      FormatException 参数格式错误 
      IndexOutOfRangeException 数组索引超出范围 
      InvalidCastException 使用无效的类 
      InvalidOperationException 方法的调用时间错误 
      NotSupportedException 调用的方法在类中没有实现 
      NullReferenceException 试图使用一个未分配的引用 
      OutOfMemoryException 内存空间不够 
      StackOverflowException 堆栈溢出

    DivideByZeroException 除零异常 程序实例:

     1 class Program{
     2         int result;
     3         Program (){ result =0;}
     4         public void Adding_Numbers(int numbers1,int numbers2){
     5         try
     6         {
     7            int Result = numbers1 / numbers2;
     8            Console.WriteLine(Result);
     9         }
    10         catch (DivideByZeroException e)
    11         {
    12             Console.WriteLine("Exception caught.{0}", e);
    13         }
    14         finally
    15         {
    16             Console.WriteLine("The result is {0}",result);
    17         }
    18             Console.WriteLine("After handling the  exceotion");
    19     }  

    用户自定义的Exception:

     1 public class Calculate
     2     {
     3         int sum = 0;
     4         int count = 0;
     5         float average;
     6  
     7         public void DoAverage()
     8         {
     9             if (count == 0)
    10                 throw(new CountIsZeroException("Zero count in Doaverage()"));
    11             else
    12                 average = sum / count;
    13         }
    14     }
    15         
    16 public class CountIsZeroException : ApplicationException //用户自定义的异常要继承这个基类
    17      {
    18          public CountIsZeroException(string message) : base(message) { }
    19      } 
    20 class Program
    21     {  
    22         static void Main(string[] args)
    23         {
    24             Calculate cal = new Calculate();
    25             try
    26             {
    27                 cal.DoAverage();
    28             }
    29             catch(CountIsZeroException e)
    30             {
    31                 Console.WriteLine("coutzeroexcption:{0}", e.Message);
    32             }
    33             Console.ReadLine();
    34         }
    35     }
  • 相关阅读:
    mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
    如果感觉不好,最后一面你需要更努力表达你的优势。最后一面打动面试官的可能往往是你的真诚和热情
    你的最终目的不是要进入该公司,而是要进入该公司你最想去的部门乃至项目组
    如果你说最近在看《诛仙》,平时喜欢玩LOL,你就是在把自己往悬崖上推
    Qt中嵌入Directx11(有句柄就可以)
    2015腾讯暑期实习武汉站面试经历(大学里的小朋友有这样的技术水平,只能说他规划的好、觉醒的早)
    NET Core开发-获取所有注入(DI)服务
    jQuery.data的是jQuery的数据缓存系统
    理解数字图像处理中的卷积
    Obstack是C标准库里面对内存管理的GNU扩展
  • 原文地址:https://www.cnblogs.com/Dream-High/p/3397177.html
Copyright © 2011-2022 走看看