try:
num =int(input('please input your number:'))
result =100/num
print('计算结果:{0}'.format(result))except:print('输入错误')
exit()print('*'*20)
简单异常案例 一
try:
num =int(input('please input your number:'))
result =100/num
print('计算结果:{0}'.format(result))#捕获异常后,把异常实例化,出错信息会在实例中 #注意一下写法 #以下语句是在捕获ZeroDivisionError异常并在实例化实例eexcept ZeroDivisionError as e:print('输入错误') p
rint(e)
exit()
简单异常案例 一
try:
num =int(input('please input your number:'))
result =100/num
print('计算结果:{0}'.format(result))except ZeroDivisionError as e:print('输入错误')print(e)
exit()except NameError as e:print('名字取错了')print(e)
exit()except ArithmeticError as e:print('属性问题')print(e)
exit()#任何异常都是继承自Exception#如果写上这句话,任何异常都会被拦截,而且一定是写在最后一个except Exception as e:print('不知道哪错了')print(e)
exit()#越具体的异常越要往前放#在异常类继承关系中,越是子类的异常,越要往前放#在处理异常的时候,一旦拦截到某一个异常,则不再继续往下看,直接#执行下一个代码,如果有finally则执行
3、用户手动引发异常
当某些情况下,用户希望自己引发一个异常的时候
可以使用raise 关键字来引发异常
try:print('I love Chengcheng')print(3.14555)#手动引发一个异常 #注意语法:raise ErrorClassName raise ValueError
print('还有')except NameError as e:print("NameError")except ValueError as e:print('ValueError')except Exception as e:print('Exception')finally:print('我是一定被执行的')
自己定义异常
#注意:自定义异常必须是系统异常类的自类classYsError(ValueError):passtry:print('I love Chengcheng')print(3.14555)#手动引发一个异常 #注意语法:raise ErrorClassName raise YsError
print('还有')except NameError as e:print("NameError")#如果没有下面语句,异常将会被ValueError拦截except YsError as e:print('Yserror')except ValueError as e:print('ValueError')except Exception as e:print('Exception')finally:print('我是一定被执行的')
关于自定义异常
只要是raise异常,则推荐自定义异常
在自定义异常中,一般包含以下代码
1、自定义发生异常的异常代码
2、自定义发生异常的问题提示
3、已定义发生异常的行数
最终目的,一旦发生问题,方便快速定位错误现场
4、else语句案例
try:
num =int(input('please input your number:'))
result =100/num
print('计算结果:{0}'.format(result))except Exception as e:print('Exception')else:print('No Exception')finally:print('我会被执行')