try except; 业务上的错误 raise

发布时间 2023-07-17 19:32:41作者: 胖豆芽
try:
    # num=int(input("请输入数字:"))
    # print(1/num)
    age= int(input("请输入年龄,不要小于18岁:"))
    if age < 18: # 非python的异常,业务逻辑上的异常,主动异常 raise
        raise NameError('异常,年纪小于18岁')
except TypeError:
    print("输入的类型错误,需要是数字")
except ValueError:
    print("不能接受非数字,请输入数字")
except ZeroDivisionError as z:
    # print('不接受0,0不能作为非除数,请输入非0的数')
    print(z) # division by zero

# 主动抛出异常
except NameError as e:
    print(e)
else:
    # 如果程序没有异常 则执行
    print("程序没有出现异常")
finally:
    print("程序执行完毕")