ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python异常捕获和生成器对象

2022-07-12 15:33:23  阅读:198  来源: 互联网

标签:错误 python 捕获 生成器 except try 类型 异常 代码


异常捕获
1.程序中的异常指的就是代码在运行过程中出现的bug,通常会导致整个代码停止运行.

2.异常的结构:

  File "D:/pythonProject7.12/生成器.py", line 7
    =func()
          ^
IndentationError: unindent does not match any outer indentation level
 - 关键字 line 
  能够精准的提示我们出现异常的代码具体在哪一行
 - IndentationError
  最后一行冒号左侧就是代码异常的类型
 - 最后一行冒号的右侧则是来提示我们这段代码异常的原因
   修改bug的关键点
 

3.常见的异常类型
  NameError  变量名错误/异常
  IndexError  索引错误/异常
  KeyError    k键错误/异常
  SyntaxError  语法错误/异常
  TypeError    类型错误/异常
  IndentationError 缩进错误/异常

4.异常的分类
  1.语法错误
   对于程序员来说 语法错误是零容忍的 
  2.逻辑错误
   是可以出现的,能够及时更正就可以了
   

异常捕获语法结构

1.常见语法结构:
try:
            可能会出错的代码(被try监控)
        except 错误类型1 as e:  # e就是具体错误的原因
            对应错误类型1的解决措施
        except 错误类型2 as e:  # e就是具体错误的原因
            对应错误类型2的解决措施
        except 错误类型3 as e:  # e就是具体错误的原因
            对应错误类型3的解决措施
        except 错误类型4 as e:  # e就是具体错误的原因
            对应错误类型4的解决措施
#可同时写多种错误类型,提前预防

2.万能语法结构:
try:
           # 可能出错的代码 (任何类型的异常都可以)
        except Exception as e:  # 万能异常方式1
            print(e)  #打印的是错误类型
			
        except BaseException as e:  # 万能异常方式2
		      #这种写法是上面的最初版本
            print(e) 
			
			
#优点就是不需要像第一种语法结构那样罗列各类型的异常语法,代码更简单

异常捕获练习

异常捕获的目的就是为了提前预防可能会出错的代码并提前给出措施!!!

建议代码能少用try就少用点 占用内存资源
for循环的本质

#使用while循环和异常捕获实现for循环的功能
l1 = [22,34,4,5,6,5,6,77,8,90]
#定义一个列表 依次取值
res = l1.__iter__()
#把列表变成迭代器对象
while True:
#循环列表取值
    try:
#用异常捕获关键字 try   提前预防while循环取值异常程序报错
        print(res.__next__())
        #循环打印列表里的值
    except Exception as e:
        #Exception 万能异常处理关键词
            break
        #取值结束自动结束循环

标签:错误,python,捕获,生成器,except,try,类型,异常,代码
来源: https://www.cnblogs.com/Hsummer/p/16470218.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有