zoukankan      html  css  js  c++  java
  • 【Python】异常

    捕获异常

    try:
        num = int(input("请输入一个整数:"))
        result = 8 / num
        print(result)
    except ValueError:
        print("请输入正确的整数")
    except Exception as ret:
        print("未知错误 %s" % ret)
    

    完整语法

    try:
        num = int(input("请输入一个整数:"))
        result = 8 / num
        print(result)
    except 错误类型1:
        # 针对性处理
    except 错误类型2:
        # 针对性处理
    except (错误类型3,错误类型4):
        # 针对性处理
    except Exception as five:
        print(five)
    else:
        # 没有异常才会执行的代码
    finally:
        # 无论是否有异常,都会执行的代码
        print("无论是否有异常,都会执行的代码")
    

    异常的传递

    def demo1():
        return int(input("输入整数:"))
    
    def demo2():
        return demo1()
    
    # 利用异常的传递性,在主程序捕获异常
    try:
        print(demo2())
    except Exception as ret:
        print("[ERROR] %s" % ret)
    else:
        print("ok")
    print('&' * 50)
    

    主动抛出异常

    def input_password():
    
        # 1. 提示用户输入密码
        pwd = input("请输入密码:")
        # 2. 判断密码长度 >=8 ,返回用户输入的密码
        if len(pwd) >= 8:
            return pwd
        # 3. 如果 < 8 主动抛出异常
        print("主动抛出异常")
        # 1> 床架异常对象
        ex = Exception("密码长度不够")
        # 2> 主动抛出
        raise ex
    
    print(input_password())
    

    捕获抛出异常

    def input_password():
    
        # 1. 提示用户输入密码
        pwd = input("请输入密码:")
        # 2. 判断密码长度 >=8 ,返回用户输入的密码
        if len(pwd) >= 8:
            return pwd
        # 3. 如果 < 8 主动抛出异常
        print("主动抛出异常")
        
        # 1> 创建异常对象
        ex = Exception("密码长度不够")
        
        # 2> 主动抛出
        raise ex
    
    try:
        print(input_password())
    except Exception as re:
        print(re)
    
    1. 违反规则的都是异常
    2. 自己写的程序,自己就是上帝
    3. 主动抛出异常,异常当作执行语句来抛出,不阻断程序的运行
  • 相关阅读:
    正则表达式基础
    js正则:零宽断言
    IE读取并显示本地图像文件的方法
    转:FileReader详解与实例---读取并显示图像文件
    mysql基础(mysql数据库导入到处) 很基础很实用
    如何禁止页面滚动
    转:字符编码到底是怎样的 有空看
    自己写的一个简单的Tab类
    mysql学习总结
    mysqld守护进程
  • 原文地址:https://www.cnblogs.com/liudianer/p/11688733.html
Copyright © 2011-2022 走看看