Python学习 第十八章 异常

异常

程序执行过程中,如果遇到错误,就会抛出异常。

异常捕获,可以帮助程序员捕捉异常,集中性应对突发事件,保证稳定性和健壮性。

语法:
在这里插入图片描述

try:
    num = int(input("请输入一个整数:"))
except:
    print("请输入正确的整数!")

请输入一个整数:a
请输入正确的整数!

针对不同的错误类型输出不同的错误

在这里插入图片描述

try:
    num = int(input("请输入一个整数:"))
    result = 8 / num
except ZeroDivisionError:
    print('除零错误')
except ValueError:
    print("请输入正确的整数")

捕获未知错误

在这里插入图片描述

try:
    num = int(input("请输入一个整数:"))

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

异常捕获完整语法

在这里插入图片描述

try:
    num = int(input("请输入一个整数:"))

    result = 8 / num
    print(result)
except ValueError:
    print("请输入正确的整数")
except Exception as result:
    print("未知错误 %s" % result)
else:
    print("尝试成功,没有异常")
finally:
    print("无论错误与否都执行")
print("-" * 50)

异常的传递

程序出现异常,传递给 函数的调用方。
传递到主程序,仍然无异常处理,程序终止。

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


def demo2():
    return demo1()


print(demo2())

在这里插入图片描述
利用异常的传递性 在主程序中 捕获异常。

def demo1():
    return int(input("请输入整数: "))
def demo2():
    return demo1()
try:
    print(demo2())
except Exception as result:
    print("未知错误 %s" % result)

案例:(用户输入密码)
在这里插入图片描述

def input_password():
    pwd = input("请输入密码:\n")
    if len(pwd) >= 8:
        return pwd
    else:
        print("主动抛出异常")
        # 创建异常对象 exception
        ex = Exception("密码长度不够")
        raise ex

try:
    print(input_password())
except Exception as result:
    print(result)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值