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