首页 > 编程语言 >Python-异常处理

Python-异常处理

时间:2022-08-23 23:44:35浏览次数:66  
标签:__ format Python except 处理 result print 异常

异常处理

异常捕获

  1. try-expect 语句

    i = input("请输入一个非零十进制数: ")
    y = 123
    
    try:
        result = y / int(i)
        print(result)
        print("{0} / {1} = {2}".format(y, i, result))
    except ZeroDivisionError as e1:
        print("异常: {}".format(e1))
    except ValueError as e2:
        print("异常: {}".format(e2))
        
    # 多重异常捕获, 合并相同的处理:
    # except (ZeroDivisionError, ValueError) as e:
    #     print("异常: {}".format(e))
    #
    # 最后省略异常类型的except代码块用来捕获上面没有匹配的异常类.
    # except:
    #     print("某种异常")
    
    finally:  # 释放资源
        print("资源释放...")
    
  2. 语句嵌套

    i = input("请输入一个非零十进制数: ")
    y = 123
    
    try:
        i2 = int(i)
        try:
            result = y / i2
            print("{0} / {1} = {2}".format(y, i2, result))
        except ZeroDivisionError as e2:
            print("异常: {}".format(e2))
    except ValueError as e1:
        print("异常: {}".format(e1))
    finally:  # 释放资源
        print("资源释放...")
    

自定义异常类

class CE(Exception):
    def __init__(self, message):
        super().__init__(message)

手动引发异常

  • raise

    class CE(Exception):
        def __init__(self, message):
            super().__init__(message)
            
            
    i = input("请输入一个非零十进制数: ")
    y = 123
    
    try:
        result = y/int(i)
        print("{0} / {1} = {2}".format(y, i, result))
    except ZeroDivisionError as e1:
        raise CE("除数为零!")
    except ValueError as e2:
        raise CE("无效数字!")
        
    # 请输入一个非零十进制数: 0
    # Traceback (most recent call last):
    #   File "F:\day12_.py", line 10, in <module>
    #     result = y / int(i)
    # ZeroDivisionError: division by zero
    # 
    # During handling of the above exception, another exception occurred:
    # 
    # Traceback (most recent call last):
    #   File "F:\day12_.py", line 13, in <module>
    #     raise CE("除数为零!")
    # __main__.CE: 除数为零!
    

标签:__,format,Python,except,处理,result,print,异常
From: https://www.cnblogs.com/khrushchefox/p/16618278.html

相关文章

  • Linux bash 界面 显示当前Git Branch 和 python 虚拟环境
    配置vim~/.bashrcparse_git_branch(){gitbranch2>/dev/null|sed-e'/^[^*]/d'-e's/*\(.*\)/(\1)/'}case"$PROMPT_ALTERNATIVE"intwolin......
  • python学习Day51
    Day51今日内容概要表单标签知识补充CSS层叠样式表作用语法结构注释语法三种编写css的方式CSS选择器基本选择器组合选择器属性选择器分组与嵌套选择器伪......
  • Python类的私有化属性名字重整
    python类在__init__方法中初始化属性的时候,如果以(self.__name)的双下划线形式开头则代表这个属性为类的私有化属性,那么,我们在实例化之后想要通过该名称直接获取该属性是获......
  • python 猜数字游戏
    游戏规则:游戏者先在内心随意想一个正整数,并记住。然后启动游戏,根据提示输入,直到最后显示出游戏者心中所想的数字不同的游戏次数则有不同的评语importtimeimportrandom......
  • Python小游戏——外星人入侵(保姆级教程)第一章 07调整飞船速度 08限制飞船活动范围
    系列文章目录第一章:武装飞船07调整飞船速度08限制飞船活动范围一、代码及演示1.修改settings修改文件:settings.py点击查看代码#渗透小红帽python的学习之路#外......
  • 学习python-Day45
    今日学习内容一、表单标签补充知识name相当于字典的键,value相当于字典值。对于前端到后端传数据需要用到name属性,不然无法被后端识别该数据是什么。form表单在朝......
  • Python3项目初始化9-->用户登录和用户管理和密码加密
    26、用户登录页面修改使用用户登录现成的模板。鼠标右键查看页面原代码,直接复制粘贴:https://v3.bootcss.com/examples/signin/调整login.html代码,{%loadstatic%}<!docty......
  • python序列-元组
    元组-tuple元组(tuple)也是python中一个重要的序列结构,与列表类似,也是由一系列按特定顺序排列的元素组成,但是它是不可变序列。因此元组也称为不可变的列表。形式上元组......
  • Python if __name__ == '__main__':
    每个python模块(python文件,也就是此处的test.py和import_test.py)都包含内置的变量__name__,当该模块被直接执行的时候,__name__等于文件名(包含后缀.py);如果该模块impor......
  • Redis启动异常
    Redis启动异常[root@hadoop01myredis]#dockerstart9738865610dcErrorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointmyredi......