python如何引发和处理异常_在python3.6中,如何捕捉异常并引发异常以便稍后处理?...
假設我有兩個例外:class FooError (Exception):
def __init__(self, *args, **kwargs):
default_message = 'A foo error has occurred!'
if not (args or kwargs): args = (default_message,)
super().__init__(*args, **kwargs)
class BarError (Exception):
def __init__(self, *args, **kwargs):
default_message = 'A bar error has occurred!'
if not (args or kwargs): args = (default_message,)
super().__init__(*args, **kwargs)
我有一個函數,它拋出FooError:
^{pr2}$
通常,您將使用try/except塊來處理FooError:try:
foobar(-1)
except FooError:
print('Uh oh, foo error!')
sys.exit()
但是,我想拋出一個BarError,我可以稍后處理。像這樣:except BarError:
print('Uh oh, bar error!')
sys.exit()
但是,在執行此操作時,我只得到兩個錯誤的回溯:Traceback (most recent call last):
File "C:\Users\Maze\Desktop\test2.py", line 17, in
foobar(-1)
File "C:\Users\Maze\Desktop\test2.py", line 15, in foobar
raise FooError()
__main__.FooError: A foo error has occurred!
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Maze\Desktop\test2.py", line 19, in
raise BarError()
__main__.BarError: A bar error has occurred!
如何在FooError的處理程序內拋出BarError,然后在另一個except塊中處理BarError?在
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python如何引发和处理异常_在python3.6中,如何捕捉异常并引发异常以便稍后处理?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20天扎240针实测血糖:告诉你无糖饮料
- 下一篇: 全国热哭预警地图出炉:河南、山东热到“蒸