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

时间:2020-08-13 11:15:48

标签: python error-handling

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

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

2 个答案:

答案 0 :(得分:1)

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

SyntaxError

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

答案 1 :(得分:0)

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