然后在python中使用try catch,您可以捕获错误并将它们与as
关键字
try
do something..
except IOError as e:
do something with e..
然而,在不知道错误类型的情况下尝试做同样的事情python抱怨语法。
try
do something..
except as e:
do something with e..
有没有办法捕获默认错误并将其作为变量?
答案 0 :(得分:7)
是的。所有异常都来自Exception
类。
所以你可以这样做:
try:
doSomething()
except Exception as e:
doSomethingWithException(e)
这是一种无所不能的路线。
答案 1 :(得分:0)
您也可以使用sys.exc_info()。这允许您使用相同的代码处理Python 2.x和Python 3.x上的异常。
答案 2 :(得分:0)
传统方式是:
try:
do_whatever()
except Exception as e:
handle_it()
虽然抓住罕见的例外是不明智的。
值得注意的是,KeyboardInterrupt和SystemExit继承自BaseException而不是Exception,所以如果您期望满足这些要求,这些就不会被捕获,但这应该不是问题,因为它们应该在顶级处理