一、异常的处理
# 异常用来处理,可能会出现问题的代码
# 将代码放到try里面去执行,如果代码出现异常,则立刻跳转except去处理
# try 里尽量只有一行可能出现问题的代码,再去执行
try:
# a = 1 / 0
f = open("text.txt", "r")
except FileNotFoundError as e:
print(e)
except ZeroDivisionError as e:
print(e)
# Exceptiom 是所有异常类的父类,包含了所有异常信息
except Exception as e:
print(e)
else:
print("代码正常,没异常")
finally:
print("有没有异常我都执行")
二、自定义异常
# 自定义一个异常类,继承与Exception(所有异常类的父类)
class AgeExceptionError(Exception):
def __init__(self):
self.error_msg = "AgeError:年龄在1到100之间"
def __str__(self):
return self.error_msg
class Person(object):
def __init__(self, age):
if age < 0 or age > 100:
# 抛出异常,异常时自定义的异常类
raise AgeExceptionError
self.age = age
print(self.age)
# 通过AgeExceptionError捕获异常
try:
p = Person(200)
except AgeExceptionError as e: # e为异常类的实例对象
print(e)