python在raise抛出错误时,如何将相关信息一同携带出来(抛出自定义对象)?
示例
- 代码示例
class MyClass(Exception):
def __init__(self, info):
self.info = info
def my_method(self):
print('MyClass.my_method print self.info:', self.info)
try:
raise MyClass('错误信息')
except MyClass as e:
print('e: ', e)
print('type(e): ', type(e))
e.my_method()
- 运行结果
e: 错误信息
type(e): <class '__main__.MyClass'>
MyClass.my_method print self.info: 错误信息
可见,可将相关属性及自定义一些方法进行抛出,通过try except捕捉到e后,进行后续操作,比纯抛出Exception灵活性更大,比return一层层返回更方便。