python自动化学习8 异常处理

本文详细介绍了Python中异常处理的基本概念和使用方法,包括try-except语句的语法、常见错误类型的处理、多异常捕获以及try-except-else和try-except-finally结构的应用。通过实例演示如何有效管理和响应程序运行过程中的各种异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

try except 简单使用

异常:程序运行过程中出现的错误,都可以称为异常

#异常的信息包含:出错的文件、行数、具体的代码、错误类型、错误信息

 

异常处理:当程序运行,出现 异常的时候,对异常进行处理

try ....except....

语法:

try:

   监控的代码块

except:

    如果监控的代码出现问题,该怎么处理

 

例子1:

try:

    file = open("test.txt","w",encoding = "utf-8")

   print("读操作之前")

   res= file.read() #读操作-----异常出现这里。因为w为只写     程序中断

   print("读操作之后")

   print('读操作获取的结果:{0}'.format(res))

except:

   file.write("读操作报错啦 ")

   print('读操作报错啦')

print("大家好")

 

try ....except....错误类型 as e ...

#错误类型:BaseExceptin     Exception

#定位你的异常:明确你的错误类型 方便定位问题

try:

    file = open("test.txt","w",encoding = "utf-8")

   print("读操作之前")

   res= file.read() #读操作-----异常出现这里。因为w为只写     程序中断

   print("读操作之后")

   print('读操作获取的结果:{0}'.format(res))

except   BaseException as e:

   file.write("读操作报错啦:{0} ".format(e))#把错误信息写进file里面去

   print('读操作报错啦')

print("大家好")

 

try +同时多个except:

L=[1,2,3]

try:

    print("获取列表数据",L[4])

    file = open("test.txt","w",encoding = "utf-8")

   print("读操作之前")

 

   res= file.read() #读操作-----异常出现这里。因为w为只写     程序中断

   print("读操作之后")

   print('读操作获取的结果:{0}'.format(res))

except   IOError as e:

   file.write("读操作报错啦:{0} ".format(e))#把错误信息写进file里面去

   print('读操作报错啦')

 

except   IndexError as e:

   print('列表数据读取报错啦')

   file.write("列表数据读取报错啦:{0} ".format(e))#把错误信息写进file里面去

 

##代码的执行顺序是从上到下,什么地方会中断,就会跑到except里面去

##一个异常可以包含多个except,但是一个异常不能包含多个try

 

##try里面可以嵌套try ...except....

例子:

L=[1,2,3]

try:

   file = open("test.txt","w",encoding = "utf-8")

   try:

         print("获取列表数据",L[4])

    except  IndexError as e:

          print('获取列表错误:{0}'.format(e))

          file.write("获取列表操作报错了:{0}".format(e))  ##处理完错误信息,不会中断,继续往下执行

     print("读操作之前")

    res= file.read() #读操作-----异常出现这里。因为w为只写     程序中断

   print("读操作之后")

   print('读操作获取的结果:{0}'.format(res))

except   IOError as e:

   file.write("读操作报错啦:{0} ".format(e))#把错误信息写进file里面去

   print('读操作报错啦')  ###最后的结果:会抓到两个异常信息

 

try...except....finally 

try:

    file = open("test.txt","w",encoding = "utf-8")

   print("读操作之前")

   res= file.read() #读操作-----异常出现这里。因为w为只写     程序中断

   print("读操作之后")

   print('读操作获取的结果:{0}'.format(res))

except:

   file.write("读操作报错啦 ")

   print('读操作报错啦')

 

finally:

    print("我执行的是finally语句!!!")

try...except....else

try:

    file = open("test.txt","w+",encoding = "utf-8")

   res= file.read() #读操作

   print('读操作获取的结果:{0}'.format(res))  ##执行通过,无异常

except:

   file.write("读操作报错啦 ")

   print('读操作报错啦')

else:

    print("大家好呀")  

 

try...except....else和try...except....finally 的区别

try...except....else:只有在try里面通过了才会执行else的语句

try...except....finally :finally的语句一定会执行

 

 

上下管理器

with open('test.txt','w')as file:

    result = file.read()

    print(result)

###作用是打开了文件后,之后会自动关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值