错误处理
基础概念
异常
内置的错误对象
名称 | 说明 | 备注 |
---|---|---|
SyntaxError | 漏掉了冒号,等语法层面的错误 | |
NameError | ||
TypeError | ||
ZeroDivisionErro | 0 |
自定义异常类
Python内置的异常类型不满足我们的需求时,我们可以自定义异常类。但我们需要注意的是,所有内置的非系统退出类异常都派生Exception类, 所有用户自定义异常也应当派生自此类。
class XxxxError(Exception):
pass
class MyError(Exception):
def __init__(self,value):
self.value = value
def __str__(self):
return '{} is error'.format(repr(self.value))
try:
raise MyError(1)
except MyError as e:
print(e)
# 1 is error
两个魔法方法:
def __init__(self)
,异常类对象的初始化属性;def __str__(self)
,返回异常类对象说明信息。
使用错误对象
def test(): raise XxxError()
try:
test()
except XxxError:
../