打印异常时如何获取异常类型?

时间:2019-05-03 18:00:16

标签: python python-3.x exception

如果我有代码:

try:
  1 / 0

except Exception as e:
  my_error = e
  #e is sent to the application user end

它返回e的文本,但也不返回异常名称。就我需要的代码而言,控制台当时未打开,并且在捕获到异常后将其发送到用户端。在发生异常的那一刻,我可以看到错误文本,但如何获得名称也是如此。

在示例中,我希望my_error

ZeroDivisionError: #error text

而不是my_error

#error text

2 个答案:

答案 0 :(得分:2)

如果仅查看错误的描述,那么您正在查看。

 err_str = str(e)

但是,如果您还在寻找异常名称及其描述,那么您正在寻找。

 err_str = repr(e)

答案 1 :(得分:1)

在异常块中使用以下代码。

e.__class__.__name__