技术 | Python从零开始系列连载(十五)

Python异常处理

那怎么创建一个隔离区呢?

在Python中使用try...except 结构创建 ' 隔离区 ',也就是进行异常处理

try 包含的部分是放入可能出现异常的代码

except 部分是来处理发生的异常

结构是:

try:

可能引起异常的代码

except:

对异常的处理代码

以上是正常情况,try的代码部分没问题,所以相对的except的代码部分不会执行

如果我们除数输入的是0:

则首先,系统没有报错,因为try中出错,则执行except中的内容,即打印‘出问题啦!’

当然,except会捕获try中所有可能出错的情况

但是except异常也分为很多种,比如值异常,命名异常等

因为这里是除0了,所以我们可以用除0异常来捕获这个异常

当然,当出现的不是除0错误时候,用除0异常就不能捕获其他种类的异常:

这里是值的异常,所以我们应该用ValueError来捕获这个异常:

注意到以上写了除0异常捕获和值异常捕获,而且他们像是if elif elif的结构

意味着当try中出错时,先用除0异常捕获,如果是除0异常,则捕获到,后面的值异常捕获则不执行(因为只可能是一种异常)

如果不是除0异常,则用值异常捕获,如果是值异常,则捕获到,如果是二者以外其它异常,异常没有被捕获,则运行报错

try...except...finally...

当我们出现异常时候,可以采用捕获方法,如果异常没被捕获,则运行出错,但是有时

有些代码我们一定要让它运行(不管之前有没有运行出错)

这时候,要在原先的try...except...结构中加入finally

finally,正如其名,是最后的意思

最后我一定要做的内容

当异常被捕获:

当finally之前出了异常,并且没有被捕获,照常执行finally中的内容:

好啦,这期的分享先到这里,大家可以按照上面的详细步骤进行练习,入门部分已经学完大部分啦!加油,我们下周五不见不散~

文章来源:Python爱好者社区

文章编辑:小柳

往期文章:

技术 | Python从零开始系列连载(十四)

技术 | Python从零开始系列连载(十三)

技术 | Python从零开始系列连载(十二)

技术 | Python从零开始系列连载(十一)

技术 | Python从零开始系列连载(十)

技术 | Python从零开始系列连载(九)

技术 | Python从零开始系列连载(八)

技术 | Python从零开始系列连载(七)

技术 | Python从零开始系列连载(六)

技术 | Python从零开始系列连载(五)

技术 | Python从零开始系列连载(四)

技术 | Python从零开始系列连载(三)

技术 | Python从零开始系列连载(二)

技术 | Python从零开始系列连载(一)

原文发布于微信公众号 - 灯塔大数据(DTbigdata)

原文发表时间:2018-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python入门

你还在为Python中文乱码而感到烦恼?今天老司机给你讲讲!

有没有遇到过这样的问题,读取文件被提示“UnicodeDecodeError”、爬取网页得到一堆乱码,其实这些都是编码惹的祸,如果不能真正理解编码的问题所在,就...

1663
来自专栏玄魂工作室

Hacker基础之Python篇:一、环境安装和基础知识

0x01. 前言 emmmmmmm...你只需知道这是一门用途很广的语言,上到大数据AI,下到Linux运维,都可以使用Python,当然,黑客也用Pyth...

2986
来自专栏FreeBuf

逆向工厂(二):静态分析技术

* 本文原创作者:追影人,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 [逆向工厂]第一章节中介绍了逆向技术的相关基础知识,其中提到逆向的两种形式:...

4488
来自专栏Urahara Blog

Using get_defined_functions To Hidden A PHP Backdoor

1762
来自专栏ThoughtWorks

TW洞见〡getter和setter的那些事

文章作者来自ThoughtWorks:佟达 相信每一个以Java或者C++作为编程入门语言的程序员,一定会记得一条金科玉律:字段(Filed)要声明成priv...

3116
来自专栏北京马哥教育

Python入门教程:超详细1小时学会Python

1.Hello world 安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。 我们写下...

4515
来自专栏大内老A

WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[上篇]

对于上一篇文章 (WCF基本异常处理模式:[上篇]、[中篇]、[下篇]),主要是站在最终开发者的角度对WCF关于异常处理编程模式进行了介绍,接下来,我们需要将我...

2039
来自专栏Golang语言社区

无辜的goroutine

简介: 本文主要是针对一些对于goroutine的“指控”提出我自己的看法,特别是轩脉刃的一篇博客文章《论go语言中goroutine的使用》提出了gorout...

3045
来自专栏Golang语言社区

【翻译】为什么 goroutine 的栈内存无穷大?

一些 Go 语言的新学习者总是会对 goroutine 栈内存占用大小感到非常好奇。这一般是由于程序员进行无限的函数循环调用导致的。为了说明这个问题,请思考以下...

3616
来自专栏有趣的django

1.python简介

简介 1、python语言介绍 python的创始人:Guido Van Rossum 2、python是一门什么样的语言 编程语言主要从以下几个角度进行分类:...

3955

扫码关注云+社区

领取腾讯云代金券