5

我想知道如何打印引发异常时写入的字符串。

例如,如果我使用

raise ValidationError("RANDOM TEXT HERE");

我怎样才能从 except 部分中检索“RANDOM TEXT HERE”。

try:
  ...
except ValidationError:
  ...
  // something like Java's ex.getMessage();
  .....

谢谢

4

2 回答 2

7

如果将异常绑定到变量,则可以使用str(exception_variable).

即:

try:
  ...
except ValidationError as e:
  print str(e)

编辑:更改msgmessage

第二次编辑:意识到将消息存储在msgvs中的异常不一致messagestr(exception)似乎是最一致的。

于 2012-04-25T00:55:05.230 回答
0

我知道这是个老问题,但我也遇到了同样的问题,我为将来需要的任何人编写了我的解决方案。

当我使用e变量时,它给了我一个list,所以我使用e.message

try:
  ...
except ValidationError as e:
  print e.message

于 2021-12-27T07:37:37.753 回答