Skip to main content

错误处理

官方文档

基础概念

异常

内置的错误对象

官方文档

名称说明备注
SyntaxError漏掉了冒号,等语法层面的错误
NameError
TypeError
ZeroDivisionErro0

自定义异常类

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:
../

相关文献