异常处理

1、什么是异常?

  程序运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来,

  造成的影响就是整个程序无法再正常运行

 

2、异常的结构:

  1.异常的类型:NameError

  2.异常的信息:name 'fdsdfsdf' is not defined

  3.异常的位置:Traceback (most recent call last):

         File "D:/python脱产10期视频/day29/01 异常处理.py", line 1, in <module>fdsdfsdf

 

3、异常的机构

  分为两大类:

    1.语法错误

    2.逻辑错误

 

4.常见的错误类型: 

  NAMERROR 名字错误
  SyntaxError 语法错误
  KeyError 键不存在
  ValueError 值错误
  IndexError 索引错误

 

5.如何避免:

  异常处理

    在你认为可能会出现的bug的代码块上放try一下:注意try内部的代码块越少越好

    try:

      可能出错的代码

    except:出错的类型 as e: # 将报错信息赋值给变量e

      出错之后的处理机制

   except BaesException :

     # 万能异常,所有的异常类型都被捕获

  else:

    # 被检测的代码没有任何的异常发生才会走else

  finally:

    # 无论被检测的代码有没有异常发生,都会在代码运行完毕之后执行此

 

6.主动抛出异常

# 主动抛异常
if 'egon' == 'DSB':
    pass
else:
    raise TypeError('尽说大实话')
# 关键字raise就是主动抛出异常

 

7.断言

l = [1,2,3]
assert len(l) < 0  # 断言  预言
# 猜某个数据的状态 猜对了 不影响代码执行 正常走
# 猜错了  直接报错

 

8.自定义异常

# 自定义异常
class MyError(BaseException):
     def __init__(self,msg):
         super().__init__()
         self.msg=msg
     def __str__(self):
         return '<dfsdf%ssdfsdaf>' %self.msg

raise MyError('我自己定义的异常')  # 主动抛出异常其实就是将异常类的对象打印出来,会走__str__方法

 

转载于:https://www.cnblogs.com/xiaowangba9494/p/11322422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值