处理Python 3.6中的异常

Handling Exceptions in Python 3.6

我正在尝试在Python3.6中处理异常。我想处理所有可能的异常并打印异常。当我这样做的时候

1
2
3
4
5
6
try:
    raise RuntimeError("Test")

except:
    e = sys.exc_info()[0]
    print(e)

它只是打印

class '_mysql_exceptions.OperationalError'

如何获取异常的消息?在这种情况下,我希望输出为"test"。


你可以抓到和printException如下:

1
2
3
4
5
try:
    raise RuntimeError("Test")
except Exception as e:
    print(e)
    # Test

我不太清楚为什么你要抓住每一个Exception,不过,让python和raise为你处理这些似乎更为谨慎。通常,您只会捕获特定的Exceptions。

此行为不特定于Python3.6。