导入
什么是异常?
本课程将为你概述异常是什么以及它们的类型。
简介
异常处理是面向对象编程(OOP)核心概念的主要特性之一。
在了解异常处理之前,我们首先需要明确 什么是异常?
异常是在程序运行过程中发生的运行时错误。由于这种错误,系统可能会卡死或出现其他异常情况。
说明
检测到错误条件的代码被称为抛出异常,而处理该错误的代码则被称为捕获异常。在 C# 中,异常是一个 对象,它封装了关于错误发生时的各种信息,例如异常发生时的堆栈跟踪以及描述性的错误消息。
所有异常对象都是
System.Exception类或其 派生类 的实例。
程序员也可以定义自己的类,继承自 System.Exception,或继承自 .NET Framework 中其他合适的异常类。
异常处理的代码结构
- try/catch - 执行某项操作,并在发生错误时进行捕获。
- try/catch/finally - 执行某项操作,若发生错误则捕获,但无论是否发生异常,始终执行
finally块中的代码。 - try/finally - 执行某项操作,但始终执行
finally块中的代码。当控制离开try语句时,finally块中的语句将被执行一次。
异常的匹配顺序
异常会按照从最具体到最不具体的顺序进行捕获。例如,当你尝试访问一个不存在的文件时,CLR 会按以下顺序查找异常处理程序:
FileNotFoundExceptionIOException(FileNotFoundException的基类)SystemException(IOException的基类)Exception(SystemException的基类)
如果抛出的异常既不是这些类型,也不属于要捕获的异常列表,则该异常将沿着调用栈继续向上抛出。
你已经了解了异常的基本概念,接下来我们进入语法和示例部分!