当前位置: 首页 > news >正文

专业的聊城网站优化网站开发的学校

专业的聊城网站优化,网站开发的学校,新网站收录多少关键词,如何网上查个人房产信息为什么要处理异常? 如果异常没有被合理的处理,就会导致程序不正常运行,与我们期待的结果不相符,例如下面这个例子(除数不能为0的案例) # 异常:如果不处理异常,程序就会提前终止 de…

为什么要处理异常?

如果异常没有被合理的处理,就会导致程序不正常运行,与我们期待的结果不相符,例如下面这个例子(除数不能为0的案例)

# 异常:如果不处理异常,程序就会提前终止
def division(x, y):return x / yprint(division(2,3))
print(division(2,0))
print(division(2,1))

执行结果
在这里插入图片描述

异常处理正确流程try-except - else - finally

python的关键字finally功能是和try配合使用,在try之后可以有except或者else,finally关键词必须放在except和else之后,不论是否有异常发生一定会执行finally当中的逻辑。
例如:一定除数不能为0的try-except-else的处理逻辑

# 异常:如果不处理异常,程序就会提前终止
def division(x, y):# 处理可能发生异常的代码try:v = x / yexcept ZeroDivisionError as e:print(e)return ("除数不能为0")else:return vprint(division(2,3))
print(division(2,0))
print(division(2,1))

执行结果如下
在这里插入图片描述
当然,实际代码中有N中可能出现的错误异常,因此在excepte中还可能回处理其他异常,例如数据类型错误,例如

print(division('s',1))

执行结果为typeError
在这里插入图片描述
所以可能也需要处理不止一个异常

# 异常:如果不处理异常,程序就会提前终止
def division(x, y):# 处理可能发生异常的代码try:v = x / yexcept ZeroDivisionError as e:print(e)return ("除数不能为0")except TypeError as e:print(e)return ("数据类型异常,需要整型")else:return vprint(division(2,0))
print(division('s',1))
print(division(2,1))

在这里插入图片描述
除了这种可以预料的处理,我们还需要兜底处理逻辑,来保证其他异常被处理掉,所以需要用baseException来多兜底

    except BaseException as e:print(e)return ("发生了异常")

除此之外,如果有数据库相关资源需要关闭,文件资源需要处理都可以在finally中进行处理,因为finally中逻辑无论是否发生异常都可以保证被执行

# 异常:如果不处理异常,程序就会提前终止
def division(x, y):# 处理可能发生异常的代码try:v = x / yexcept ZeroDivisionError as e:print(e)return ("除数不能为0")except TypeError as e:print(e)return ("数据类型异常,需要整型")# 兜底处理except BaseException as e:print(e)return ("发生了异常")else:return vfinally:# 数据库、线程池、文件等各种资源的释放,无论是否发生了异常,finally语句块都会在return之前被执行print( "finally语句块在返回之前被执行")print(division(2,0))
print(division('s',1))
print(division(2,1))

执行结果如下
在这里插入图片描述

自定义异常的抛出

举个例子:检测考试是否通过的异常,60分以上为通过

# 自定义异常
class scoreException(BaseException):# 构造方法def __init__(self, msg):super().__init__(msg)# 自定义函数
def checkScore(score):if score < 60:raise scoreException("Score is too low!")else:print("Score is ok!")# test方法
try:score = int(input("Enter a score number: "))checkScore(score)
except scoreException as e:print(e)print("continue other logic")

执行结果1
在这里插入图片描述
执行结果2
在这里插入图片描述

http://www.yayakq.cn/news/715085/

相关文章:

  • wordpress搬家打不开长沙正规竞价优化服务
  • 展馆门户网站建设天津首页优化外包公司
  • 新建网站怎么做网站静态代码检查 站长工具
  • 莱阳网站定制做网站利用自己电脑
  • 传媒网站源码网站下载软件怎么安装
  • Wordpress多站点为什么注册不了公司网站建设须知
  • 网站建设有哪些板块公司加强网站建设
  • 网页设计去除下划线代码刷关键词优化排名
  • 邢台做网站改版网站紧急升级维护中
  • 网站策划书需求分析衣服网站建设规划书
  • 邢台地区网站建设服务周到新媒体 网站建设 管理规范
  • 房山做网站企业公示信息查询系统黑龙江
  • 在网站上怎么做推广兰州官网优化技术厂家
  • 唯品会网站开发招聘百度不收录网站吗
  • 做行业网站能赚钱吗3d建模教程人物
  • 盘锦网站设计潍坊企业网站设计
  • 网站的网站搭建网站开发用什么简单
  • 邵阳建设网站的公司企业建设网站风险
  • 做网站的时候旋转图片公司做网站 手机 电脑
  • 乐清建设网站公司商标设计模板
  • 网站建设推广哪里实惠七牛云招聘
  • 唐河做网站合作网站seo
  • 北京做网站推广兼职南山网站设计方案
  • 济南网站建设山东聚搜网推荐dreamviewer网页设计
  • 有做义工的相亲网站吗jmr119色带
  • 网站建设市场调研南京建设行政主管部门网站
  • 网站开发进修三位效果网站模版
  • 官方网站下载拼多多app制作图片的电脑软件
  • 新网站没有死链接怎么做高端网站制作 上海
  • 网站的构成元素东莞市网络公司