python错误和异常处理_python异常处理

python错误和异常处理_python异常处理抛出异常Python使用raise语句抛出一个指定的异常。raise语法格式如下:raise[Exception[,args[,traceback]]]defdivision():”’功能:分苹果”’print(“\n=====================分苹果了=====================\n”)apple=int(input(“请输入苹果的个数:”))#.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

抛出异常

Python 使用 raise 语句抛出一个指定的异常。

raise语法格式如下:

raise [Exception [, args [, traceback]]]

python错误和异常处理_python异常处理

 

def division():
    '''功能:分苹果'''
    print("\n===================== 分苹果了 =====================\n")
    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("\n出错了 ~_~ ——苹果不能被0个小朋友分!")
    except ValueError as e:
        print("\n出错了 ~_~ ——",e)

 运行结果为:

python错误和异常处理_python异常处理

raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。

如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。

try:
    raise NameError('HiThere')
except NameError:
    print('An exception flew by!')
    raise

 python错误和异常处理_python异常处理

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184055.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • exits函数「建议收藏」

    exits函数「建议收藏」updateempsetsal=sal*1.2whereexists(select1fromdeptwheredeptno=emp.deptnoandloc=’DALLAS’); 等同于updateempasetsal=sal*1.2whereexists(select1fromdeptbwhereb.deptno=a.deptnoa

    2025年7月21日
    2
  • Luajit 概述「建议收藏」

    Luajit 概述「建议收藏」一、JIT即时编译器JIT:即时编译器。将频繁执行的代码,通过JIT编译器编译成机器码缓存起来,下次再调用时直接执行机器码。相比与原生Lua的逐条执行虚拟机指令效率更高。对于那些只执行一次的代码,则保持于原生Lua一样,逐条执行。JIT带来的效率提升,并不一定能抵消编译效率的下降。当虚拟机执行指令时并不会立刻用JIT进行编译。只有部分指令需要JIT进行编译,JIT将决定那些代码将被编译。延迟编译有…

    2022年10月7日
    3
  • Linux stat函数_python系统调用函数

    Linux stat函数_python系统调用函数Linux系统调用函数stat详解,以及文件信息结构体structstat结构体详解。

    2022年8月21日
    7
  • 面渣逆袭:三万字,七十图,详解计算机网络六十二问(收藏版)

    面渣逆袭:三万字,七十图,详解计算机网络六十二问(收藏版)新年第一篇,开工大吉,虎年“豹”富!面渣逆袭系列继续,三万字+七十图详解六十二道网络面试题!强烈建议收藏!

    2022年10月3日
    1
  • 树莓派初次使用(史上最全最详细教程!!)「建议收藏」

    树莓派初次使用(史上最全最详细教程!!)「建议收藏」由于自己电脑装虚拟机莫名的卡,所以搞个树莓派来当我的私密环境(嘿嘿,别想歪了!!!)废话不多说,我们开始吧!所需材料:树莓派系统,Win32DiskImager工具(用来把系统写到内存卡上),AngryIPscaner(用来扫描树莓派的IP地址),x-shell(远程登录工具)树莓派板子(我的是3代的板子),电源(我用的是我旧的安卓手机充电器与线)一个16GTF内存卡(以前的手机内

    2022年10月14日
    2
  • Java中String转换为JSONArray发生错误[通俗易懂]

    Java中String转换为JSONArray发生错误[通俗易懂]直入主题:一个Map里面,有两种String:第一种解析的字符串结构keywords:[{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]这里假设Stringstr1=[{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]第二种解析的字符串结构keywords:[{…

    2022年6月20日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号