except ValueError:
print "the input is Invaild(dd.mm.year)"
except as e:
print "Unknown error"
print e
这是我写的代码,如果出现不同的错误,那么 valueerror 会发生,它会打印在 e 中吗?谢谢
except ValueError:
print "the input is Invaild(dd.mm.year)"
except as e:
print "Unknown error"
print e
这是我写的代码,如果出现不同的错误,那么 valueerror 会发生,它会打印在 e 中吗?谢谢
您需要在此处捕获BaseException
orobject
才能分配给e
:
except ValueError:
print "the input is Invaild(dd.mm.year)"
except BaseException as e:
print "Unknown error"
print e
或者,更好的是Exception
:
except ValueError:
print "the input is Invaild(dd.mm.year)"
except Exception as e:
print "Unknown error"
print e
毯子except:
将捕获与 相同的异常BaseException
,捕获Exception
将忽略 KeyboardInterrupt
,SystemExit
和GeneratorExit
。不抓住这些通常是一个好主意。
有关详细信息,请参阅异常文档。
不,该代码将抛出SyntaxError
:
如果你不知道你的代码可能抛出的异常,你可以只捕获Exception
. 这样做会得到所有内置的、非系统退出的异常:
except ValueError:
print "the input is Invaild(dd.mm.year)"
except Exception as e:
print "Unknown error"
print e