作业帮 > 综合 > 作业

C#在try中包含throw交给哪个catch处理

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 03:45:23
C#在try中包含throw交给哪个catch处理
C#在try中包含throw交给哪个catch处理
首先你throw的话肯定直接往上抛了,抛到调用它的父函数里,假如父函数有异常处理的话就会抓住你抛上来的异常,至于交给那个catch处理的话那要看你的定义,假如你抛的是自定义了异常类型A,而你又指定了
try{}
catch(A ex)
{}
catch(B ex)
{}
catch(Exception ex)
{}
这样会交给第一个catch处理,因为你指定了A异常的处理方式,假如都不是你定义的话就会采用最后一个处理,因为Exception是所有异常的基类
再问: 好像C#的throw是不能出现在catch语句之外的,是这样吗?
再答: 不是,可以出现在catch之外,catch主要是用来扑捉异常,然后处理,并不是说异常依赖try catch了