# 异常、程序运行的时候爆出来的,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('注册成功')
py 异常处理
最新推荐文章于 2024-04-08 22:57:49 发布