python-异常

'''异常
程序出现异常错误情况有两种
编码报错-不符合语言的语法
运行报错--异常
程序运行气节时要避免异常的
程序一旦出现异常就会终止运行
'''
#捕获异常
'''语法
try:
可能出现异常的代码
expect:
出现异常后自动执行的代码'''
try:
    file=int(input("输入一个整数"))
except:
    print("你输入的不是整数")
my="aaa"
print(my)

  


'''程序运行期间出现异常是会终止运行,发生异常后面的代码都不会执行
但是当我们捕获异常后程序出现异常,程序也不会终止运行'''
#捕捉不同类型的异常
'''语法
:try:
可能出现异常的代码
except:
出现异常1执行的代码
except:
出现异常2执行的代码
except
出现未知异常执行的代码'''
try:
    a = int(input("请输入一个整数"))
    b = int(input("请输入一个整数"))
    print(a / b)
except ValueError:
    print("请输入一个可以转化整数")
except ZeroDivisionError:
    print("除数不能为0")
except:
    print("未知错误")

# ValueError: 输入的值不能转化为整数
# ZeroDivisionError: 除数为0的时候报的错误

  


#没有异常发生执行的代码
'''try:
可能出现异常的代码
except:
发生异常要处理的代码
else:
没有异常发生要执行的代码'''
#没有异常发生时会之情可能出现异常的代码和没有异常发生的代码-两个都会执行
try:
    a = int(input("请输入a的值"))
    b = int(input("请输入b的值"))
    print(a / b)
except:
    print("异常发生")
else:
    print("没有异常发生")

  


'''异常完整语法
try:
可能出现异常的代码
except 指定异常类型1:
异常执行代码
except 指定异常类型2:
异常执行代码
except Exception as result:
异常执行代码
else:
没有异常执行代码
finally:
无论是否有异常执行代码'''
try:
    a = int(input("请输入a的值"))
    b = int(input("请输入b的值"))
    print(a / b)
except ValueError:
    print("请输入正确的整数")
except ZeroDivisionError:
    print("除数不能为0")
except Exception as result:
    print("未知异常", result)
else:
    print("代码没有异常发生")
finally:
    print("代码执行完成")

  


#主动抛出异常
'''语法
raise Exception("异常描述")
主动抛出的异常同样也会终止程序运行'''
# 计算器,当用户输入的不是+-*/会抛出异常,并捕捉这个异常
try:
    num1 = int(input("请输入整数"))
    num2 = int(input("请输入整数"))
    op1 = input("请输入+-*/")
    if op1 != "+" and op1 != "-" and op1 != "*" and op1 != "/":
        raise Exception("请输入正确的+-*/")#如果输入的不是算数运算符,那么就会抛出异常
    if op1 == "+":
        print(num1 + num2)
    elif op1 == "-":
        print(num1 - num2)
    elif op1 == "*":
        print(num1 * num2)
    else:
        print(num1 / num2)

except Exception as result:#捕捉我们主动抛出的异常
    print(result)

  

posted @ 2022-12-16 22:22  WeiDongRR  阅读(46)  评论(0)    收藏  举报