下列程序的运行结果是( )。
A.errorl:10.5B.error2C.errorl:10.5error2D.以上都不对...
A.errorl:10.5
B.error2
C.errorl:10.5 error2
D.以上都不对 展开
B.error2
C.errorl:10.5 error2
D.以上都不对 展开
1个回答
展开全部
【答案】:C
try-catch块是可以嵌套分层的,并且通过异常对象的数据类型来进行匹配,以找到正确的catchblock异常错误处理代码。以下是通过异常对象的数据类型来进行匹配找到正确的catch block的过程。
①首先在抛出异常的try-catch块中查找catch block,按顺序先与第一个catch block块匹配,如果抛出的异常对象的数据类型与catch block中传入的异常对象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的子类型对象,则匹配成功,进入到catch block中执行,否则到第2步:
②如果有两个或更多的catch block,则继续查找匹配第二个、第三个,直至最后一个catch block,如匹配成功,则进入到对应的catch block中执行,否则到第3步;
③返回到上-级的trycatch块中,按规则继续查找对应的catch block。如果找到,进入到对应的catch block中执行,否则到第4步;
④再到上上级的try—catch块中,如此不断递归,直到匹配到顶级的try—catch块中的最后一个catch block,如果找到,进入到对应的catch block中执行;否则程序将会执行terminate( )退出。所以本题选C。
try-catch块是可以嵌套分层的,并且通过异常对象的数据类型来进行匹配,以找到正确的catchblock异常错误处理代码。以下是通过异常对象的数据类型来进行匹配找到正确的catch block的过程。
①首先在抛出异常的try-catch块中查找catch block,按顺序先与第一个catch block块匹配,如果抛出的异常对象的数据类型与catch block中传入的异常对象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的子类型对象,则匹配成功,进入到catch block中执行,否则到第2步:
②如果有两个或更多的catch block,则继续查找匹配第二个、第三个,直至最后一个catch block,如匹配成功,则进入到对应的catch block中执行,否则到第3步;
③返回到上-级的trycatch块中,按规则继续查找对应的catch block。如果找到,进入到对应的catch block中执行,否则到第4步;
④再到上上级的try—catch块中,如此不断递归,直到匹配到顶级的try—catch块中的最后一个catch block,如果找到,进入到对应的catch block中执行;否则程序将会执行terminate( )退出。所以本题选C。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询