景暄 发表于 2020-12-3 23:34:38

关于try,exceptionde选择题不太会做

本帖最后由 景暄 于 2020-12-4 00:02 编辑

请问各位大佬这题为什么选D?

昨非 发表于 2020-12-3 23:34:39

景暄 发表于 2020-12-4 00:00
抱歉!是我的编辑错误。
整个题我都不太看得懂,如果可以的话能请详细分析一下吗?

例一:
默认参数为输出错误A
而你调用的时候:
第一行raise的是没有参数的,所以用默认参数,生成错误A,而后中止,下面(本该输出B的调用)不再运行


例二:

传入参数B,代替了默认参数
所以调用结果为生成错误B

昨非 发表于 2020-12-3 23:51:07

确定选b吗?
我怎么感觉选D

景暄 发表于 2020-12-4 00:00:31

昨非 发表于 2020-12-3 23:51
确定选b吗?
我怎么感觉选D

抱歉!是我的编辑错误。
整个题我都不太看得懂,如果可以的话能请详细分析一下吗?

景暄 发表于 2020-12-4 00:07:26

昨非 发表于 2020-12-3 23:51
确定选b吗?
我怎么感觉选D

例1是因为先raise CriticalError所以下面的raise CriticalError("ERROR MESSAGE B")就不会执行到了是吗,所以结果是"ERROR MESSAGE A"?
例2因为没有raise CriticalError所以最终的错误结果是"ERROR MESSAGE B"。
请问这样理解对吗?

昨非 发表于 2020-12-4 00:09:59

景暄 发表于 2020-12-4 00:07
例1是因为先raise CriticalError所以下面的raise CriticalError("ERROR MESSAGE B")就不会执行到了是吗, ...

第一个理解是对的,程序运行遇到报错就终止了,后面不运行了
第二个,可以理解为有参数(B)的时候,原来的(A)就被顶替了

昨非 发表于 2020-12-4 00:26:23

解决了记得设置最佳答案哈
页: [1]
查看完整版本: 关于try,exceptionde选择题不太会做