class MyException(Exception):
def __init__(self,msg):
self.msg=msg
def __str__(self):
return self.msg
try:
print('start')
raise MyException('this is a custom exception')##手动触发会被Exception捕获
except Exception as e:
print(e)
finally:
print('end')
##ret
start
this is a custom exception
end
import time try: print('start...') time.sleep(10) except KeyboardInterrupt as e:##按ctrl+c会执行这个语句块 print('you press ctrl+c') finally: print('end...')
myexception=MyException('231')
print(hasattr(myexception,'msg'))#True
print(hasattr(myexception,'msg1'))#False
print(getattr(myexception,'__str__')())#231
setattr(myexception,'fun',lambda x:x)
print(getattr(myexception,'fun')(1234))#1234
delattr(myexception,'fun')
try: l = ["a", "b"] int(l[2]) except (ValueError, IndexError) as e: pass