|
知识路径: > 电子商务系统程序设计基础 > 电子商务平台开发基础 > NET平台技术及其结构 > .NET平台技术及其结构 > C#语言编程基础 >
|
相关知识点:8个
|
|
|
|
所谓异常就是指在程序运行期间发生的错误或意外情况。总之程序在运行期间出现异常是不可避免的,我们不能回避异常,而是要积极采取措施来控制和解决出现的异常现象。一般我们将产生异常的原因分为两种:由程序本身产生的和由程序运行环境(公共语言运行时环境)引起的。如果异常是由于运行的程序本身引起,则大多数情况下这种异常是可以恢复的;但如果异常是由于公共语言运行时环境所引起,则大多数异常难以恢复。
|
|
|
C#的异常处理指的是在程序中加入异常控制代码,使用try/catch语句块配合完成捕获异常和处理异常的任务。不能单独使用try或catch语句块,它们必须同时使用。通常情况下,try可配合多个catch子句,每个catch子句对应一种特定的异常,就好像switch…case语句一样。try/catch语句块基本格式如下:
|
|
|
|
当try子句中的程序代码产生异常时,系统就会在catch子句中查找,看是否有与设置的异常类型相同的catch子句,如果有,就会执行该子句中的语句;如果没有,则转到调用当前方法的方法中继续查找。该过程一直继续下去,直至找到一个匹配的catch子句为止;如果一直没有找到,则运行时将会产生一个未处理的异常错误。
|
|
|
catch子句也可以不包含参数,即不包含对某种类型异常对象的捕获,这时catch子句将捕获所有类型的异常,这就好比switch…case语句中的default语句。
|
|
|
最后要说明一点:如果没有发生异常,那么try块正常结束,所有的catch语句被忽略,程序转到最后一个catch语句之后的第一条语句处开始执行。因此,只有发生异常,catch语句才会执行。
|
|
|
有时候,我们希望在执行完try/catch块后再做一些善后处理。如果想要在try/catch结束后再执行一些关闭资源的操作,就在程序中包含一个finally语句块,可以根据需要构成try…finally或try…catch…finally语句结构形式。
|
|
|
|
try…catch…finally语句的执行功能:不论try块是正常退出,还是因为发生了异常而退出,最后执行的都是由finally语句定义的代码块。即使try块中或者任何catch语句中的代码从方法中返回,finally块也会得到执行。
|
|
|