正如您在代码中看到的那样,我有一个需要元组(* args)的函数,现在我正在处理有关此问题的错误。现在不需要执行任务,但是语法错误。当我在括号中写 1a6 时,我希望得到自定义的错误消息。当我运行它时,通常我会看到一条错误消息,但不是我的。
def member_finder_outer(*args):
return args
try:
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)
但是它仍然会写自己的错误消息。
答案 0 :(得分:1)
不幸的是,大多数{{ i |mongoid:'_id'}}
是在解析文件时抛出的。因此它在try和except被注册之前被抛出。如果将{{ i |mongoid:'_id'}}
投掷到SyntaxError
内,那么您可以抓住它
SyntaxError
免责声明:eval()
是一个非常危险的工具,因此请谨慎使用。 ref
答案 1 :(得分:0)
1a6是无效项目。它必须是一个数字,5月16日或一个字符串“ 1a6”。您甚至在程序执行之前就收到了错误。