赞
踩
异常是指在程序运行过程中,发生错误会导致程序退出,这种错误,就叫做异常。处理这种错误,叫异常处理。
C# 异常处理是建立在四个关键字之上的:try、catch、finally和throw。
示例程序代码:声明一个有10个元素的数组,通过循环打印出20个元素。
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace _18trycatchDemo
- {
- class Program
- {
- static void Main(string[] args)
- {
- try
- {
- int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
- for (int i = 0; i < 20; i++)
- {
- Console.WriteLine(arr[i] + " ");
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- }
- }
当打印完数组arr的10个元素之后,想要再打印第11个元素的时候,程序就会捕获异常,并输出异常的信息“索引超出了数组界限”。
1、SystemException类:该类是System命名空间中所有其他异常类的基类。(建议:公共语言运行时引发的异常通常用此类)
2、ApplicationException类:该类表示应用程序发生非致命错误时所引发的异常(建议:应用程序自身引发的异常通常用此类)
此类异常类均派生于SystemException,用于处理给方法成员传递的参数时发生异常
1、ArgumentException类:该类用于处理参数无效的异常,除了继承来的属性名,此类还提供了string类型的属性ParamName表示引发异常的参数名称。
2、FormatException类:该类用于处理参数格式错误的异常。
1、MemberAccessException类:该类用于处理访问类的成员失败时所引发的异常。失败的原因可能的原因是没有足够的访问权限,也可能是要访问的成员根本不存在(类与类之间调用时常用)
2、MemberAccessException类的直接派生类:
以下三个类均继承于SystemException类
1、IndexOutOfException类:该类用于处理下标超出了数组长度所引发的异常
2、ArrayTypeMismatchException类:该类用于处理在数组中存储数据类型不正确的元素所引发的异常
3、RankException类:该类用于处理维数错误所引发的异常
1、IOException类:该类用于处理进行文件输入输出操作时所引发的异常。
2、IOException类的5个直接派生类:
1、ArithmeticException类:该类用于处理与算术有关的异常。
2、ArithmeticException类的派生类:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。