正如您在代码中看到的那样,我有一个需要元组 (*args) 的函数,现在我正在处理有关它的错误。它的使命现在不是必需的,但我有语法错误的问题。当我在括号中写1a6时,我期待自定义的错误消息。当我运行它时,通常我会看到一条错误消息,但它不是我的。def member_finder_outer(*args): return argstry: print(member_finder_outer(1, 12, 13, 14, 15, 1a6, 17, 18, 19, 20, 21)) except: print("I want here.")File "d:/Burak/Yazılım/Python/Dersler/17-/Binary Search/binary_search.py", line 55 print(member_finder_outer(1, 12, 13, 14, 15, 1a6, 17, 18, 19, 20, 21) ^SyntaxError: invalid syntax我试过这些:except SyntaxError: print("I want here.")except Exception: print("I want here.")except SyntaxError as e: print("I want here.",e)但它仍然会写出自己的错误消息。
2 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
不幸的是,大多数SyntaxError
s 是在解析文件ref时抛出的。所以它在 try 和 except 被注册之前被抛出。如果thoughSyntaxError
被扔进去eval()
,那么你可以抓住它
def member_finder_outer(*args):
return args
try:
eval("print(member_finder_outer(1, 12, 13, 14, 15, 1a6, 17, 18, 19, 20, 21)")
except:
print("I want here.")
免责声明:eval
是一个非常危险的工具,因此请谨慎使用。
添加回答
举报
0/150
提交
取消