如果子级函数和返回标志python中出现错误,则跳转到顶级函数
我有一个函数“main_func”,从中调用另一个函数,依此类推如果子级函数和返回标志python中出现错误,则跳转到顶级函数,python,Python,我有一个函数“main_func”,从中调用另一个函数,依此类推 class Error(Exception): """Base class for other exceptions""" pass def main_func(): return sub_func() def sub_func(): return sub_sub_func() def sub_sub_func(): return sub_sub_sub_func() def sub_s
class Error(Exception):
"""Base class for other exceptions"""
pass
def main_func():
return sub_func()
def sub_func():
return sub_sub_func()
def sub_sub_func():
return sub_sub_sub_func()
def sub_sub_sub_func():
try:
x = len(10)
res = 'b'
except:
raise Error
return res
main_func()
如果您在sub_sub_sub_func()
中看到,我添加了一行x=len(10)
,这将导致异常
我想要的是,如果发生这种情况,我应该直接跳到main_func()并返回一个标志(str)作为'fail'
我试图定义自定义异常,但这对我没有帮助
我想在我提出后返回。len(10)
将提出一个TypeError
您可以在main\u func
中捕获此特定异常,然后执行需要执行的操作
请注意,在引发错误时,需要创建错误类的实例<代码>错误()
注意:您的自定义错误
隐藏了许多信息,这些信息以后会派上用场。是什么引起了这个错误。最好是将原始的TypeError
作为Error
的内部异常
try:
x = len(10)
except Throwable as e:
raise Error(e)
理论上,在您的代码中,潜在的内存不足异常将转换为您的错误,而不知道发生了什么。您的意思是在
main_func()
中添加try except
?@无休止的不使用try except,使用raiseIt不清楚“jump”是什么意思。目前,引发异常将使您编写“跳转”代码,因为没有任何中间“子”函数实现任何形式的异常处理。什么是flag(str)
?如果要转到main_func
,可能必须使用return
或idk?
try:
x = len(10)
except Throwable as e:
raise Error(e)