</table>
</div>
<!-- /download -->
<div class="markdown-body">
<!-- 欢迎成为极客学院WIKI作者 -->
<!-- wiki原创作者 -->
<p class="author"><a href="https://github.com/eastlakeside/" class="author-name right-top-img" data-name="访问原作者" target="_blank">东滨社</a> · 更新于 2018-11-28 11:00:43</p>
<!-- 内容 -->
<h1>处理多个异常</h1>
离线下载 | |
---|---|
获取电子书上线通知 |
我们可以使用三种方法来处理多个异常。
第一种方法需要把所有可能发生的异常放到一个元组里。像这样:
try:
file = open('test.txt', 'rb')
except (IOError, EOFError) as e:
print("An error occurred. {}".format(e.args[-1]))
另外一种方式是对每个单独的异常在单独的except
语句块中处理。我们想要多少个except
语句块都可以。这里是个例子:
try:
file = open('test.txt', 'rb')
except EOFError as e:
print("An EOF error occurred.")
raise e
except IOError as e:
print("An error occurred.")
raise e
上面这个方式中,如果异常没有被第一个except
语句块处理,那么它也许被下一个语句块处理,或者根本不会被处理。
现在,最后一种方式会捕获所有异常:
try:
file = open('test.txt', 'rb')
except Exception:
# 打印一些异常日志,如果你想要的话
raise
当你不知道你的程序会抛出什么样的异常时,上面的方式可能非常有帮助。
<div class="previous-and-next">
<span class="pull-left">上一篇: <a id="previous_link" href="/project/interpy-zh/exception/README.html" data-toggle="tooltip" data-placement="top" title="" data-original-title="上翻页快捷键:左方向键">异常</a></span>
<span class="pull-right">下一篇: <a id="next_link" href="/project/interpy-zh/exception/finally_clause.html" data-toggle="tooltip" data-placement="top" title="" data-original-title="下翻页快捷键:右方向键">finally从句</a></span>
</div>
<div class="detail-share clearfix">
<div class="bdsharebuttonbox share-item bdshare-button-style0-16" data-bd-bind="1568947926204">
<a href="#" class="bds_more" data-cmd="more"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
<a href="#" class="bds_youdao" data-cmd="youdao" title="分享到有道云笔记"></a>
</div>
<script>
window._bd_share_config = {
"common": {
"bdSnsKey": {},
"bdText": "",
"bdMini": "2",
"bdMiniList": false,
"bdPic": "",
"bdStyle": "0",
"bdSize": "16"
},
"share": {},
"image": {
"viewList": ["weixin", "tsina", "qzone", "youdao"],
"viewText": "分享到:",
"viewSize": "16"
}
};
with(document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = '/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];
</script>
</div>
<!--广告-->
<!--/广告-->
<!-- 评论 -->
<div id="jkcomments"><ul></ul><div id="pager"></div><div class="jkxy-subask-nologin">只有登录了才能参与评论,快<a href="http://passport.jikexueyuan.com/sso/login">登录</a>!如果你还没有账号你可以<a href="http://passport.jikexueyuan.com/sso/reg_phone">注册</a>一个账号。</div></div>
<!-- 新 footer -->
<div class="wiki-footer">
<ul>
<li><a href="//help.jikexueyuan.com/" target="_blank">关于我们</a></li>
<li><a href="//help.jikexueyuan.com/join.html" target="_blank">加入我们</a></li>
<li><a href="//help.jikexueyuan.com/contact.html" target="_blank">联系我们</a></li>
<li><a href="//j.jikexueyuan.com/evangelist/apply" target="_blank">讲师合作</a></li>
<li><a href="//help.jikexueyuan.com/" target="_blank">帮助中心</a></li>
<li><a href="//blog.jikexueyuan.com/" target="_blank">黑板报
</a></li><li><a href="//www.jikexueyuan.com/friendlink.html" target="_blank">友情链接</a></li>
<li><a href="javascript:void(0)" onclick="meiqia()" target="_blank">意见反馈</a></li>
</ul>
</div>
</div>