py 异常处理

# 异常、程序运行的时候爆出来的,xxxError
# def chufa(a,b):
#     return  a/b
# chufa(1,0)   #ZeroDivisionError: division by zero


# 异常处理
'''
格式
try:
    可能出现的异常的代码
except 异常类型1:
    如果有异常执行的代码
except 异常类型2:
    如果有异常执行的代码
except Exception as err:
    print('出错了!!!',err)    err 的内容就是错误的原因
finally:
    无论是否存在异常都会被执行的代码(可有可无这个)

如果有多个except ,异常类型的顺序需要注意,最大的Exception 要放到最后

'''

#
def func():
    try:
        n1 = int(input('输入第一个数字:'))
        n2 = int(input('输入第二个数字:'))
        per = input('输入运算符号(+,-,*,/):')
        if per == '+':
            sum = n1 + n2
            print(f'和是:{sum}')
        elif per == '-':
            sum = n1 - n2
            print(f'差是:{sum}')
        elif per == '*':
            sum = n1 * n2
            print(f'积是:{sum}')
        elif per == '/':
            sum = n1 // n2
            print(f'商是:{sum}')
        else:
            print('运算符号输入有误')

        with open(r'C:\p1\book\a.txt','a') as wstream:
            wstream.write(f'本次运算的结果是{sum}\n')

        with open(r'C:\p1\book\a.txt','r') as rstream:
            print(rstream.read())

    except ZeroDivisionError:
        print('除数不能为0')
    except ValueError:
        print('必须输入数字')
    except Exception as err:
        print('出错了!!!',err)

# func()


# 主动抛出异常 raise
#注册 用户名必须是6位
def register():
    username = input('输入用户名:')
    if len(username) < 6:
        raise Exception('用户长度小于6位')
    else:
        print('输入用户名是:',username)
try:
    register()
except Exception as err:
    print(err)
    print('注册失败')
else:
    print('注册成功')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值