异常处理

本文详细介绍了Python中常见的异常类型,如SyntaxError、IndexError等,并解释了如何使用try-except结构来捕获和处理这些异常。此外,还讨论了如何通过多分支异常处理和万能异常来更好地管理代码中的错误。

语法错误:应该在写代码的时候就规避掉

  SyntaxError

  NameError name

  ……

程序执行时的错误

  IndexError  [][1]

  KeyError  {}["key]  

  EOFError  pickle.load()  

  FileNotFoundError  open('aa")

  ModuleNotFoundError  import aaaaaaaaa

  ValueError  int("sdjkhf")

当有多行报错的时候是为什么?

  在嵌套调用的过程中,内部的代码出了问题,外部所有的调用的地方都成为报错追溯信息的一部分。

解决方法:从下往上找,首先找到你写的代码出错的那一行(是在不行找百度)

try:  except:具体用法

  单分支:只有一个except 错误类型:  except处理的异常必须和实际报错的异常是相同的。

  多分支:有两个或以上的except 错误类型:  从上向下报错的代码只要找到一个和报错类型相符的分支就执行这个分支中的代码,然后直接退出分支。如果找不到能处理和报错类型相同的分支,会一直往下走,最后还没有找到就会报错。

  多分支合并:except (错误类型1,错误类型2):

  万能异常:except Excepeion :或者 except :

  as语法:except Excepetion as e:  e就是错误信息

  多分支+万能异常:万能异常永远凡在异常处理的最下面。

  else分支:当try中的代码不发生异常的时候,走else分支,如果发送成功 进行一些处理。

  finally分支:无论如何都会被执行  **即使return也会先执行fianlly中的代码,即使报错了也会先执行finally中的代码,然后再结束程序

        finally用来回收一些操作系统的资源:数据库连接  打开的文件句柄  网路连接

主动抛出异常:是给其他开发者用的

raise   valueError("错误信息")

断言(一种语法)

assert 1==2  #只能接受一个布尔值

转载于:https://www.cnblogs.com/qq849784670/p/9518888.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值