1.套路
a = 3
b = 2
c = "1"
# c = 3
try:
assert a < b
# assert语句一般用于开发时对程序条件的验证,只有内置_debug_为True时,assert语句才有效。
# 当Python脚本以-O选项编译成为字节码文件时,assert语句将被移除。
d = a + c
except AssertionError:
print("a<b")
except Exception as e: # 1.捕获除与程序退出sys.exit()相关之外的所有异常, 2.as 定义异常实例
print(e)
# except TypeError as e: # 这里的 e 为异常信息
# print(e)
else :
print("#当try子句中执行没有发现任何异常的时候执行这里")
finally:
print('不管有没有异常都会执行')
2.
定义一个简单的异常类:
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
try:
raise MyError(2)
except MyError as e:
print('My exception occurred, value:', e.value)
在捕获这个异常之后假如需要访问TA的一些属性怎么办,这个时候就可以使用as关键字 所以,这里的e是前面MyError类的一个instance,我们可以直接访问他的value,也就是你看到的e.value