day31作业

1.编写代码抛出TypeError 尝试捕获它

try:
    a= "aaa"
    a+33
except TypeError:
    print("类型错误")

2.as 关键字的作用是什么 编写代码测试

as 的作用接受 抛出异常的对象

try:
    5 / 0
except ZeroDivisionError as zero:
    print(zero)

#division by zero

3.raise 关键的作用

raise的作用就是主动抛出错误,而不是被动触发系统默认的错误

4.什么时候该使用try except

如果你知道为什么出错,应该把代码修改正确,而不是加上try except。只有当你不清楚为什么异常的时候!这时候才使用try except

5.finally 与 else 有什么区别 请编写测试代码并说明

try内的代码段,没有抛出错误,else内代码才执行。而finally无论是否抛出异常都会执行

try:
    [][1]
except Exception:
    print("抛出异常")
else:
    print("else 代码段")
finally:
    print("finally 代码段")
#抛出异常
#finally 代码段

结果:

抛出异常
finally 代码段

try:
    # [][1]
    print(1+2)
except Exception:
    print("抛出异常")
else:
    print("else 代码段")
finally:
    print("finally 代码段")

#3
#else 代码段
#finally 代码段

7.什么是万能异常? 内部是如何做到的

Exception和BaseException 被称为万能异常,他们是所有异常的父类,所有异常都是他们的继承和派生的结果。所以exception和BaseException本身就具备接受异常的功能。其他异常不过是继承和派生他们的结果而已。

8.为了保证程序的健壮性 我们应该在任何抛出异常的地方添加try except 这种说法对吗?

不正确,这样正常的逻辑就无法进行下去,只有当遇见无法预知的错误,使用try except

原文地址:https://www.cnblogs.com/msj513/p/9890757.html