python:异常处理

1.语法

‘’’try:

              执行相关语句1

          except:

               执行相关语句2

           else:

                执行相关语句3

‘’‘

#解释:

1.先尝试执行相关语句1

2.若在执行中报错,那么执行相关语句2

3.若执行语句1没有报错,那么执行相关语句3

2.异常的类型:

'''
异常的类型
'''
print(num)
# f=open('muxue.txt','r')

 分别运行结果

NameError: name 'num' is not defined
    f=open('muxue.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'muxue.txt'

 3.捕获一个异常与多个异常信息:

一.

'''
捕获指定异常
注意:如果不是指定异常,无法捕获
try 下方只放一行尝试执行的代码
'''
try:
    print(num)
except NameError:
    print('异常已捕获')

运行结果:

异常已捕获

 二.

'''
捕获多个异常
'''
try:
    # print(num)
    # f=open('muxue.txt','r')
    10/0
except(NameError,FileNotFoundError,ZeroDivisionError) as result:
    print('捕获了多个异常')

运行结果

捕获了多个异常

 三.

'''
捕获异常信息的所有异常
'''
try:
    # print(num)
    f=open('muxue.txt','r')
except Exception as result:
    print(result)

 运行结果

[Errno 2] No such file or directory: 'muxue.txt'

4.异常中的finally

'''
finally:
无论异常都需要执行的代码
'''
try:
    f=open('muxue.txt','r')
except Exception as result:
    f=open('muxue.txt','w')
else:
    print('没有发生异常')
finally:
    f.close()

运行结果:

应用场景对文件进行读写操作最终都要对文件进行关闭操作即可用finally,对数据库进行操作时打开关闭数据库........。 

5.实例代码:

案例一:

'''异常
'''
try:
    f = open('text.txt','r')
except:
    f = open('text.txt','w')

运行的结果: 

进程已结束,退出代码0

 

案例二: 

import time
def buy_one_stock(stock_name='sh60000'):
    '''此程序用于下单购买某个股票,但买入的过程,程序有50%概率报错'''
    import random
    random=random.random()
    if random>=0.5:
        return
    else:
        raise ValueError('程序报错')
max_try_num=5
tyr_num=0
while True:
    try:
        buy_one_stock()
    except:
        print('出错了,请重试')
        tyr_num+=1
        time.sleep(1)
        if tyr_num>5:
            print('超过最大尝试次数,下单失败')
            break
    else:
        print('下单成功了')
        break

运行结果:

出错了,请重试
出错了,请重试
下单成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值