Python学习笔记(十四)——小甲鱼第三十三讲

本文介绍了Python中的异常处理机制,包括Try-Except语句的使用,如何指定处理特定异常,以及如何避免隐藏意外错误。通过示例展示了在猜数字游戏中如何优雅地处理输入错误、键盘中断等异常情况,最后探讨了finally语句的应用,确保资源的正确释放。
摘要由CSDN通过智能技术生成

0、

Try:

     监测范围

except Excepttion[as reason]:

     出现异常(Exception)后的处理代码

 

1、

可以

 

2、在except后边使用小括号()把需要处理的异常括起来

 

3、会隐藏某些意料之外的错误

 

4、使用finally语句

 

5、加入以下代码

if i == 2:

    raise KeyboardInterrupt

 

0、

import random

 

secret = random.randint(1,10)

print('-'*15 + '游戏开始' + '-'*15)

temp = input('不妨猜猜我现在心里想的是哪个数字')

try:

    guess = int(temp)

except ValueError:

    print('输入错误')

    guess = secret

while guess != secret:

    try:

        guess = int(temp)

    except ValueError:

        print('输入错误')

        guess = secret

        break

    if guess == secret:

        print('恭喜猜对了')

        break

    elif guess > secret:

        print('大了',end='')

    else:

        print('小了',end='')

    temp = input('请重新输入吧:')

print('游戏结束')

        

 

运行结果

---------------游戏开始---------------

不妨猜猜我现在心里想的是哪个数字4

大了请重新输入吧:r

输入错误

游戏结束

 

 

1、

import random

 

secret = random.randint(1,10)

print('-'*15 + '游戏开始' + '-'*15)

try:

    temp = input('不妨猜猜我现在心里想的是哪个数字')

    guess = int(temp)

except (ValueError,EOFError,KeyboardInterrupt):

    print('输入错误')

    guess = secret

while guess != secret:

    if guess == secret:

        print('恭喜猜对了')

        break

    elif guess > secret:

        print('大了',end='')

    else:

        print('小了',end='')

    try:

        temp = input('请重新输入吧:')

        guess = int(temp)

    except (ValueError,EOFError,KeyboardInterrupt):

        print('输入错误')

        guess = secret

        break

print('游戏结束')

 

运行结果

 

---------------游戏开始---------------

不妨猜猜我现在心里想的是哪个数字4

小了请重新输入吧:

输入错误

游戏结束

 

 

2、

def int_input():

    temp = input('请输入一个整数')

    while True:

        try:

            int(temp)

            break

        except ValueError:

            temp = input('错了,你输入的不是整数,请重新输入')

int_input()

 

运行结果

 

请输入一个整数r

错了,你输入的不是整数,请重新输入f

错了,你输入的不是整数,请重新输入4

>>>

 

 

3、

try:

    f = open('my_file.txt')#当前文件夹并不存在该文件

    print(f.read())

except OSError as reason:

    print('出错了:' + str(reason))

finally:

    if 'f' in locals():#如果文件对象变量存在当前局部变量符号表的话,说明打开成功

        f.close()

 

运行结果

 

出错了:[Errno 2] No such file or directory: 'my_file.txt'

>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值