我在调用堆栈中有几个函数,它们会在出现错误时在堆栈上重新引发相同的异常。我熟悉 Python 习惯用法,即 raise
块中的独立 try/except
将重新引发正在处理的相同异常,但如果调用不在 {{1} 块中,则仍会引发异常}} 块。
假设异常在调用堆栈的更高层处理,try/except
或 inbounds1()
会被认为是“更好”的做法,还是两者都不是?
inbounds2()
答案 0 :(得分:0)
我会使用 inbounds2()。
这是因为重新提出错误是一种很好的做法,不仅有利于保险,而且有利于您和其他阅读您的代码的人的可读性 - 它使代码更清晰。
由于错误已经出现,因此没有巨大的技术优势。