异常

异常

代码运行的过程中,出现的的错误,
    会停止程序的执行,
    并且提示一些错误信息
    抛出异常(raise): 程序停止并且提示错误信息 这个动作,就是抛出异常

异常捕获:针对突发事件做集中的处理, 从而保证程序的稳定性和健壮性



测试:
    白盒测试:需要懂源代码, 并且能判断出这些代码可能会出现某些问题
    黑盒测试:不需要懂源代码

捕获异常

目的: 为了让程序能够正常运行,
对象:对某些代码的执行 不能确定 是否正确
错误类型: 最后一行错误信息的第一个单词

try: 尝试
    尝试执行代码
except ErroeType: 如果不行
    特定类型异常,执行语句
except exception as result:
    所有异常执行语句
else:
    如果没有异常,执行语句
finally:
    不管有没有,都执行

异常的传递

异常传递:(逐层上传)
    1.当 函数/方法 执行 出现异常,会将异常传递给调用一方
    2.如果传递给主程序,仍然没有异常处理,程序才会终止

应用: 在主函数中增加 异常捕捉 
        主函数调用其它函数,只要出现异常, 都会传递到主函数的异常捕获中
        这样就不需要在代码中,增加大量的 异常捕获,能够保证代码的整洁

def demo1():
    return int(input("请输入一个整数:"))


def demo2():
    return demo1()

try:
    print(demo2())
except ValueError:
    print("请输入正确的整数")
except Exception as result:
    print("未知错误 %s" % result)

抛出异常 :raise

目的: 有些特殊的需求,就是需要在不满我的规则时 主动抛出异常(比如密码不能少于8位,否则主动抛出异常)
Exception 类:
    1. 创建一个 Exception 的对象  ex = Exception("主动异常")
    2. 使用 raise 关键字 抛出 异常对象   raise ex
def input_password():

    # 1. 提示用户输入密码
    pwd = input("请输入密码:")

    # 2. 判断密码长度,如果长度 >= 8,返回用户输入的密码
    if len(pwd) >= 8:
        return pwd

    # 3. 密码长度不够,需要抛出异常
    # 1> 创建异常对象 - 使用异常的错误信息字符串作为参数
    ex = Exception("密码长度不够")

    # 2> 抛出异常对象
    raise ex


try:
    user_pwd = input_password()
    print(user_pwd)
except Exception as result:
    print("发现错误:%s" % result)

静态和动态模块

静态模块: 可直接查看源码   eg:  .py文件
动态模块: 不可查看源码    eg:  .dll  .pyd 

常量

常量:不可修改的变量; 定义后,不要再次赋值  (在python中真正意义上的常量,所有只能用字母全部大写 ,代表常量)
    变量名,字母全部大写
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值