为什么我不能显示错误消息?

问题描述

正如您在代码中看到的那样,我有一个需要元组(* 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,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)

但是它仍然会写自己的错误消息。

解决方法

不幸的是,大多数{{ i |mongoid:'_id'}}是在解析文件screenshot of multiple tabs时抛出的。因此它在try和except被注册之前被抛出。如果将{{ i |mongoid:'_id'}}投掷到SyntaxError内,那么您可以抓住它

SyntaxError

免责声明eval()是一个非常危险的工具,因此请谨慎使用。 ref

,

1a6是无效项目。它必须是一个数字,5月16日或一个字符串“ 1a6”。您甚至在程序执行之前就收到了错误。