python学习 异常处理 一起敲敲键盘

"""
try:
    可能出现报错的程序
except 报错类型:
    若报错,则执行程序

try:
    可能出现报错的程序
except 报错类型1:
    若报错,则执行程序1
except 报错类型2:
    若报错,则执行程序2

try:
    可能出现报错的程序
except 报错类型:
    若报错,则执行程序1
else:
    若未报错,则执行程序2

try:
    可能出现报错的程序
except 报错类型:
    若报错,则执行程序1
else:
    若未报错,则执行程序2
finally:
    无论是否报错都执行程序3

raise [exception类型(异常描述)]

常用异常类型
ZeroDivisionError 除数为0
IndexError 索引超出范围
KeyError 字典取值时key不存在
NameError 变量没声明
SyntaxError 语法错误
ValueError 传入值错误
AttributeError 属性或方法不存
TypeError 类型不合适
IndentationError 不正确缩进
BaseException 所有内置异常类的基类
……
不指定异常名称,则捕获全部异常

打断点 调试
"""

try:
    numbers1=int(input("输入一个数:"))
    numbers2=int(input("输入一个数:"))
    quotient=numbers1/numbers2
except ZeroDivisionError:
    print("除数不能为0")
    numbers2=int(input("重新输入除数"))
    print("商:", numbers1 / numbers2)
except ValueError:
    print("请输入数字"+'\n'+"请重新输入")
    numbers1 = int(input("输入一个数:"))
    numbers2 = int(input("输入一个数:"))
    print("商:", numbers1 / numbers2)
except BaseException:
    print("未知异常")
else:
    print("商:",quotient)
finally:
    print("计算结束")

try:
    result=input("抛硬币结果:")
    if result!='字' and result!='花':
        raise Exception("概率过小")
    if result=='字':
        print("let`s do that")
    if result=='花':
        print("why not")
except Exception as e:
    print(e)
    print('think again')

运行结果

有不同输入异常有不同运行输出,部分如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值