Python随记(11)异常处理 try语句
2020-03-29 19:43
1621 查看
异常处理
- AssertionError:断言语句(assert)失败:就是当assert这个关键字后面的条件时假时,一般用于测试程序。
- A他tributeError:长是访问未知的对象属性。
list.a >>AttributeError:'list' object has no attribute 'a'
- IndexError: 索引超出序列的范围
- KeyError: 字典中查找一个不存在的关键字。
- NameError: 尝试访问一个不存在的变量。
- OSError: 操作系统产生异常,像打开了一个不存在的文件会引发FileNotFoundRrror(OSError的子类)
- SynataxError: 语法错误
- TypeError: 不同类型间的无效操作
- ZeroDicisonError: 除数为零
- IndentationError: 缩进错误
- ValueError: 传入无效参数。
try-except语句,try-finally语句,raise语句,else语句,with语句
- try-except 用于检测和处理异常
try: x=int(input('请输入一个数字:')) except: print('您输入的不是数字啦')
如果在意错误内容可以用 as 将具体错误打印出来。
except OSError as reason: print(str(reason))
针对不同的异常可以设置多个except:一个try可以和多个except搭配
... except OSError as reason: print(str(reason)) except TypeError as reason: print(str(reason)) #或者是except后面跟着多个异常,然后统一处理: except(OSError, TpyeError): #或者是捕获所有异常: except: print('错了')
但是不建议使用捕获所有异常,毕竟可能会隐藏掉为准备的错误。
另外try语句的检测范围一旦出现异常,剩下的所有语句都不会在执行。
异常处理并不仅仅处理那些直接发生在 try 子句中的异常,而且还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。
def this_fails(): x = 1/0 >>> try: this_fails() except ZeroDivisionError as reason: print(str(reason) )
-
try-finally
如果try语句块中没有出现运行时的错误,会跳过except语句执行finally语句。如果出现异常,先执行except在执行finally。总之,finally语句块中的内容是一定要执行的。 -
raise语句:就是认为抛出一个异常。
-
else语句
与if搭配,要么怎么样,要不不怎么样
与for ,while 循环语句搭配,else语句块只在循环完成后执行。如果break跳出循环,那么else里面的内容就不会执行了。干完了能怎样,干不完就别想怎样。
与异常搭配,没有问题,那就干嘛。只要try没有异常,就执行else里面的内容
5. with语句
with语句抽象出文件操作中频繁使用的try/finally/except相关细节。对文件使用with语句,将大大减少代码量,而且它可以自动帮助关闭文件。
try: with open('a.txt') as f: for each in f: print(each) except: print('错了')
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- P-1.8 Python简单异常处理 try... 语句
- python的“异常”处理——try语句
- python中的异常处理:try...except...else...finally语句
- python的“异常”处理——try语句
- python基础知识三——try与except处理异常语句
- python的“异常”处理——try语句
- python11 控制流语句 异常处理
- python基础——try与except处理异常语句详解
- python中的异常捕获处理机制(try...except...等语句)
- python的“异常”处理——try语句
- python中用try来处理程序异常的集中常用方法
- 描述异常处理语句try、catch、finally执行时的相互关系
- Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- 【】Python】异常处理try...except、raise
- Python异常处理try...except、raise
- 【C++】try 语句捕获异常,catch子句处理异常
- python3异常处理 try
- python3 异常处理try、raise
- python-异常处理try_except
- Python异常处理try...except...finally raise assert