易学智能

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2693|回复: 6

[python] python学习(接力赛6) Python3异常处理简介

[复制链接]

44

主题

139

帖子

382

积分

论坛管理

Rank: 4

积分
382
发表于 2018-9-27 12:05:05 | 显示全部楼层 |阅读模式
本帖最后由 2919005896 于 2018-9-27 14:07 编辑

Python3异常处理简介
异常
即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常(比如除数为0)。
如:
图1.11.png
图1.12.png
异常处理
try语句
try语句的工作方式:
  首先,执行try子句(在关键字try和关键字except之间的语句)如果没有异常发生,忽略except子句,try子句执行后结束。
  如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
  如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。处理程序将只针对对应的try子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。例子:
图1.21.png
图1.22.png
tryexcept 语句还有一个可选的else子句,如果使用这个子句,那么必须放在所有的except子句之后。这个子句将在try子句没有发生任何异常的时候执行。例如:
图1.3.png

抛出异常:
Python使用raise语句抛出一个指定的异常,raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。
图1.4.png
用户自定义异常

我们通过创建一个新的异常类来拥有自己的异常。异常类继承自 Exception 类,可以直接继承,或者间接继承 图1.51.png

运行结果为:
My exception occurred,value:4










回复

使用道具 举报

10

主题

72

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2018-10-8 16:07:49 | 显示全部楼层
对于python的异常描述的不错
回复

使用道具 举报

2

主题

28

帖子

77

积分

注册会员

Rank: 2

积分
77
发表于 2018-10-9 07:59:41 | 显示全部楼层
对python小白来说还是有用滴
回复

使用道具 举报

4

主题

37

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2018-10-9 11:11:16 | 显示全部楼层
很有用的
回复

使用道具 举报

9

主题

74

帖子

185

积分

注册会员

Rank: 2

积分
185
发表于 2018-10-9 11:20:06 | 显示全部楼层
自定义异常有什么应用吗?
回复

使用道具 举报

9

主题

47

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2018-10-10 08:42:02 | 显示全部楼层
蛋蛋超人 发表于 2018-10-9 11:20
自定义异常有什么应用吗?

一般来说没多大用处,就是一个知识点
回复

使用道具 举报

9

主题

74

帖子

185

积分

注册会员

Rank: 2

积分
185
发表于 2018-10-11 08:23:58 | 显示全部楼层
小猫的世界 发表于 2018-10-10 08:42
一般来说没多大用处,就是一个知识点

哦,嗦嘎。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易学智能

GMT+8, 2024-4-19 23:13 , Processed in 0.029728 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表