为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 网络编程 > 其它综合 正文

第十二章 异常

三叶资源网 2022-12-27 20:18:50 其它综合 244 ℃ 0 评论

Python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误:异常、断言

异常处理

异常即是一个事件(在Python中是一个对象),该事件会在Python无法正常处理程序时就会发生,影响了程序的正常执行。每个错误都有名称,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

以下是完整的try语句结构,try语句可以嵌套,try中定义的变量可以在函数其他地方使用。

try: # 需要捕获异常的代码块

block

except exception: # 有多种形式

block

else: # 没有异常执行的语句块

block

finally: # 无论是否发生异常都将执行的语句块

block

try中包含的代码块,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码。如果错误代码没有使用try捕获,或者捕获的错误在 except列表没有相应的处理,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。

except列表,其中[, Argument] 可以替换为 [as Argument],支持[,语法]与[as语法]。

1、except:

捕获所有的异常

2、except ExceptionType[, Argument]: 或 except (ExceptType1, ExceptType2, …), Argument/as Argument

捕捉指定的异常,Argument表示异常实例,携带异常信息,Argument.message

3、except(Exception1[, Exception2[,...ExceptionN]]])[, Argument]:

一次捕获列表中的多种异常

触发异常

当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。

raise [ExceptionType [, args [, traceback]]]

或者

raise ExceptionType(args) #使用异常类的构造函数创建一个异常对象

1、raise

将拦截到的异常错误原样抛出扔给上层处理

2、参数解释

ExceptionType:异常的类型(例如,NameError)

args:参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是"None"。

traceback:最后一个参数是可选的,traceback,未提供则是None

自定义异常

通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。

在Python已知的类不满足的时候,可以定义一个自定义异常类:

class NewException(Exception):

pass

断言

Python中使用 assert 来使用断言,起到调试的作用。启动Python解释器携带 -O 参数可以关闭断言。

assert expression # 如果 expression 为False, 则触发一个 AssertionError 异常

Tags:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
伊对APP协议关键词监控telegram模拟器群控类源码机构AES加密DiscuzBilibili评论抽奖扫码枪取文件列表sock5Exdui界面socket5QQ好友批量点名片赞url编解码模块源码蓝奏云动态创建窗口json是用来干嘛的sql例程QQ二维码登录
最新评论