百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Python合集之异常(二)

toyiye 2024-06-21 12:26 8 浏览 0 评论

1.Try...except...else

在Python中,还有另外一种异常处理结构,他是try...except...else语句,也就是在原来try...except语句的基础上在添加一个else子句,用于指定当try语句块中没有发现异常时要执行的语句块。该语句块中的内容当try语句中发现异常时,将不被执行。

例如:

def division():
    '''功能:分苹果'''
    print("=========分苹果=========")
    Apple=int(input("请输入苹果的个数:"))
    children=int(input()"请输入来了几个小朋友:")
    result=apple // children
    remain=apple - result * children
    if remain > 0:
        print(apple,"个苹果,平均分给",children,"个朋友,每人分",result,"个,剩下",remain,"个")
    else:
        print(apple,"个苹果,平均分给",children,"个朋友,每人分",result,"个")
if __name__=="main":
    try :
        division()
    except ZeroDivisionError:
        print("苹果不能被0个小朋友分")
 except ValueError as e:
   print("输入错误:",e)
    else:
        print("分苹果顺利完成")

2.try...except...finally语句

完整的异常处理语句应该在包含finally代码块,通常情况下,无论程序中有无异常产生,finally代码块中的代码都会被执行。其语法格式如下:

try:
    block1
except [ExceptionName[as alias]]:
    block2
finally:
    block3

对于 try...except...finally 语句的理解并不复杂,他只是比try...except 语句多了一个finally 语句,如果程序中有一些在任何情形中都必须执行的代码,那么他就可以将他们放在finally代码块中。

注:使用except子句是为了允许处理异常,无论是否引发了异常,使用finally子句都可以执行清理代码,如果分配了有限的资源,则应该将释放这些资源的代码放置在finally代码块中。

例如:

def division():
    '''功能:分苹果'''
    print("=========分苹果=========")
    Apple=int(input("请输入苹果的个数:"))
    children=int(input()"请输入来了几个小朋友:")
    result=apple // children
    remain=apple - result * children
    if remain > 0:
        print(apple,"个苹果,平均分给",children,"个朋友,每人分",result,"个,剩下",remain,"个")
    else:
        print(apple,"个苹果,平均分给",children,"个朋友,每人分",result,"个")
if __name__=="main":
    try :
        division()
    except ZeroDivisionError:
        print("苹果不能被0个小朋友分")
 except ValueError as e:
   print("输入错误:",e)
    else:
        print("分苹果顺利完成")
    finally:
        print("进行了一次分苹果操作")

3.使用raise语句抛出异常

如果某个函数或者方法可能会产生异常,但不想在当前函数或者方法中处理这个异常,则可以使用raise语句在函数或方法中抛出异常,raise语句的语法格式如下:

raise [ExceptionName [(reason)]]
其中,ExceptionName[(reason)] 为可选参数,用于指定抛出异常名称以及异常信息的相关描述。

注:ExceptionName(reason)参数中的(reason)也可以省略,如果省略,则在抛出异常时,不附带任何描述信息。

def division():
    '''功能:分苹果'''
    print("=========分苹果=========")
    Apple=int(input("请输入苹果的个数:"))
    children=int(input()"请输入来了几个小朋友:")
    if apple< children :
        raise ValueError("苹果太少了,不够分。。。")
    result=apple // children
    remain=apple - result * children
    if remain > 0:
        print(apple,"个苹果,平均分给",children,"个朋友,每人分",result,"个,剩下",remain,"个")
    else:
        print(apple,"个苹果,平均分给",children,"个朋友,每人分",result,"个")
if __name__=="main":
    try :
        division()
    except ZeroDivisionError:
        print("苹果不能被0个小朋友分")
 except ValueError as e:
   print("出错了:",e)

注:在应用raise抛出异常时,要尽量选择合理的异常对象,而不应该抛出一个与实际内容不相关的异常。

花絮:

本期的Python异常的处理就分享到这里,下期我们将继续分享Python程序调试的相关知识,感兴趣的朋友可以关注我。

相关推荐

Python3最新版安装教程(Windows)(python3.7.0安装教程win10)

接下来给大家讲解一下python最新安装包的安装教程。·首先大家可以去这里搜索一下我的笔记,大概讲了一下,然后找到它的官网,下载的是windows,可以看一下最新的版本。·选择64位,点击下载就即可了...

笨办法学python3》再笨的人都能学会python,附PDF,拿走不谢

《笨办法学python3》这本书的最终目标是让你起步python编程,虽然说是用“笨办法”学习写程序,但是其实并不是这样的。所谓的“笨办法”就是指这本书的教学方式,也就是“指令式”的教学,在这个过程中...

python3 (1)(python312)

Python3Introduction:LearnthebasicsofPython3programming,withitskeyfeatures,andprovideyo...

Python3 教程-- 3、解释器(python3菜鸟教程官网)

Python3解释器Python解释器Linux/Unix的系统上,Python解释器通常被安装在/usr/local/bin/python3.4这样的有效路径(目录)里。我们可以将路径/us...

《笨办法学python3》再笨的人都能学会python,附PDF,拿走不谢

《笨办法学python3》这本书的最终目标是让你起步python编程,虽然说是用“笨办法”学习写程序,但是其实并不是这样的。所谓的“笨办法”就是指这本书的教学方式,也就是“指令式”的教学,在这个过程中...

入门经典!《Python 3程序开发指南》python学习教程赠送!

《Python3程序开发指南》(????)??嗨!你们的小可爱又来辣,小编自学python时用到的视频学习教程分享给大家~都是非常系统性、非常详细的教程哦,希望能帮助到你!转发文章+私信小编“资料”...

Python3.7最新安装教程,一看就会

一、博主自言随着人工智能的快速发展,python语言越来越受大家的欢迎,博主前段时间先自学了一次,这次再次巩固,顺便分享给大家我遇到的坑。帮助大家学习的时候少走弯路。希望会对大家有所帮助,欢迎留言...

# Python 3 # Python 3 教程(#python3.10教程)

Python3教程Python的3.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python3....

Python教父推荐:《Python基础教程》(第3版)

《Python基础教程第3版》包括Python程序设计的方方面面:首先,从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地...

今日精选5篇教程:用Python3带你从小白入门机器学习实战教程手册

正文1:教程标题:英伟达SuperSloMoGithub项目开放作者:英伟达教程摘要:今年6月份,英伟达发布了一份生成高质量慢动作视频的论文——《SuperSloMo:HighQual...

电子书 | 笨办法学 Python 3(笨办法学python3pdf)

本周更新了5本IT电子书资源,同时站内已经有12本Python入门方面的相关电子书,可供新手选择。1、笨办法学Python3本书是一本Python入门书,适合对计算机了解不多,没有...

Python2 已终结,入手Python 3,你需要这30个技巧

选自medium作者:Erik-JanvanBaaren机器之心编译参与:王子嘉、一鸣Python2在今年和我们说拜拜了,Python3有哪些有趣而又实用的技巧呢?这篇教程有30个你会喜欢...

Python 3 系列教程(python3.9基础教程)

Python的3.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python3.0在设计的时候没有考...

Python第三课3. Python 的非正式介绍

3.Python的非正式介绍?在下面的例子中,通过提示符(>>>与...)的出现与否来区分输入和输出:如果你想复现这些例子,当提示符出现后,你必须在提示符后键入例子中的每...

如何使用 Python 构建一个“谷歌搜索”系统?| 内附代码

来源|hackernoon编译|武明利,责编|Carol出品|AI科技大本营(ID:rgznai100)在这篇文章中,我将向您展示如何使用Python构建自己的答案查找系统。基本上,这...

取消回复欢迎 发表评论:

请填写验证码