python异常处理

try/except和try/finally
用法:用于python中的异常处理,在写程序的时候使用异常处理会增加程序的稳定性,默认情况下,如果没有使用异常处理而程序发生了错误,脚本文件在执行过程中所产生的异常消息会自动发送给程序调用端,如python shell,python shell 对异常消息的默认处理则是终止程序的执行并打印具体的出错信息。这就是在python shell中执行程序错误后出现的出错打印信息的由来。

try/except

try:
	代码块
except  异常类型:
	语句
except:
	语句	
else:
	语句	

先执行try后的语句,如果发生异常,才执行except,从第一个except后开始寻找,如果找到了对应的异常类型则执行except 该异常类型后的语句,如果没有找到,则执行except,except是可选项,如果没有提供,则异常将会提交给python进行默认处理,终止应用程序并打印提示信息,如果在try中没有出现异常则会直接进入else(如果存在)。

try/finally

try:
	代码块
finally:
	语句	

这里不论try中是否发生异常,finally一定会执行。

try/except和try/finally合用

try:
	代码块
except 异常类型:
	语句
except:
	语句
else:
	语句
finally:
	语句				

**注意:**
1.合用的时候顺序一定是:try–except 异常类型–except–else–finally
2.else和finally是可有可无的,如果有finally一定在最后
3.except 异常类型一定在except之前,except一定在else之前,except是存在else的前提条件

实例:

//温度转换代码
while True:
    try:
        TempStr=input("请输入带有符号的温度值:")
        while(TempStr[-1] not in ['F','f','C','c']):
            print("输入格式有误,应该输入整数后加字母f/F或c/C")
            TempStr=input("请输入带有符号的温度值:")
    finally:
        if TempStr[-1] in ['F','f']:
            C=(eval(TempStr[0:-1])-32)/1.8
            print("转换后的温度是{:.2f}C".format(C))
        elif TempStr[-1] in ['C','C']:
            F=1.8*eval(TempStr[0:-1])+32
            print("转换后的温度是{:.2f}F".format(F))
        break

//猜数游戏
import random
while True:
    try:
        k=random.randint(0,100)
        x=int(input("请输入0—100之间的整数:"))
        tem=0
        while x!=k:
            tem+=1
            if(x>k):
                print("遗憾,太大了")
            else:
                print("遗憾,太小了")
            x=eval(input("请输入0—100之间的整数:"))
    except:
        print("输入内容必须为整数!")
    else:
        print("预测{}次,你猜中了".format(tem))
        break
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值