Python学习_07_错误、异常
地毯式地过语法终于快要结束了。。。
Python中的常见异常
1.NameError:尝试访问一个未初始化的变量
2. ZeroDivisionError:除数为0
3. SyntaxError:Python解释器语法错误
4. IndexError:请求的索引超出序列的范围
5. KeyError:请求一个不存在的字典关键字
6. IOError:输入、输出错误
7. AttributeError:尝试访问未知的对象属性
等,这些错误都是来自于Exception类,Exception类和SystemExit、KeyboardInterrupt组成BasicException类,包含所有的异常情况
try…except…else…finally处理异常
try语句会监控语句中的异常,如果出现异常则会执行except 指定错误的语句,如果没有错误成功执行完毕,则执行else语句,不论是否成功执行,都会执行finally语句。
except Exception[, reason],可以有多个,来处理不同的错误,Exception参数传入一个错误类型的对象,reason返回具体异常的原因:
try:
A
except MyException1:
B
except MyException2:
C
else:
D
finally:
E
通过Exception或者BasicException可以捕获到大多数甚至全部的异常。
with语句
with语句针对上下文管理类型的对象做语法上的简化,比如文件是常用的上下文管理类型:
with open(filename) as f:
for line in f:
pass
触发异常
raise语句
通过raise语句可以主动触发异常:raise [someException [, args [, traceback ]]]
语法比较灵活复杂,没有弄非常清楚,查手册吧。。。
断言
assert expression [, arguments]
可以生成一个断言,如果断言为假,则会生成一个AssertionError异常,同样可以被捕获到,如果没有捕获,则会终止程序。
Python学习_07_错误、异常的更多相关文章
- 转 Python3 错误和异常/ Python学习之错误调试和测试
########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名> ...
- python学习笔记5_异常
python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...
- Python学习笔记 - day8 - 异常
异常 在程序运行过程中,总会遇到各种各样的错误.有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种 ...
- python学习日记(异常)
异常和错误 错误 1.语法错误 这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 pr ...
- python学习24之异常
'''''''''1.低级错误:纯语法错误2.中级错误:代码存在隐性错误,逻辑缺陷3.高级错误:软件面对不确定性的异常错误''''''一.捕获异常1.基本异常捕获语句try: #异常捕捉语句的开始 代 ...
- Python学习笔记006_异常_else_with
>>> # try-except语句 >>> >>> # try : >>> # 检测范围 >>> # exc ...
- python学习第八天--异常和异常处理
Exception 常用异常: AssertionError 断言语句失败 AttributeError 尝试访问未知的对象属性 IndexError 索引超出序列值 keyError 查找一个不存在 ...
- python常见的错误异常
1.AssertionError 该异常在assert()语句运行失败时输出 2.AttributeError 该异常在参考或设置属性失败时输出 eg:class Gs: pass g = Gs() ...
- Python编程:基础学习常见错误整理
# Python学习之错误整理: # 错误一:# TypeError: cannot concatenate 'str' and 'int' objects# 不能连接str和int对象age = 2 ...
随机推荐
- 360提供的php防注入代码
<?php //Code By Safe3 function customError($errno, $errstr, $errfile, $errline) { echo "< ...
- UWP 判断Windows10系统版本
, ); , ); , ); , ); if(VersionsHelper.Windows10Build15063) { }
- c语言的发展历程
C语言的发展颇为有趣.它的原型ALGOL 60语言. 1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言. 1967年,剑桥大学 ...
- 网页设计——6.html其他标签
今天学习html的其他标签: 一.列表 1.无序列表ul 基本结构: <ul type="属性值"> <li>列表内容</li> </u ...
- SQL Server Profiler的使用
最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler排查,发现有全表 ...
- 一键架设FastDFS分布式文件系统脚本,基于Centos6
一.使用背景 业务驱动技术需要,原来使用 FTP和 Tomcat upload目录的缺陷日渐严重,受限于业务不断扩大,想使用自动化构建,自动化部署,Zookeeper中心化,分布式RPC DUBBO等 ...
- 采用Opserver来监控你的ASP.NET项目系列(二、监控SQL Server与Asp.Net项目)
前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来介绍一下,如何使用Opserver监控我们的SQL Server 和ASP.NET项目的异常监控 ...
- JDBC的使用
JDBC详解系列(一)之流程 ---[来自我的CSDN博客](http://blog.csdn.net/weixin_37139197/article/details/78838091)--- 使 ...
- Android最佳性能实践(四)——布局优化技巧
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43376527 在前面几篇文章其中.我们学习了怎样通过合理管理内存,以及高性能编码技 ...
- 产品研发管理(二):使用SubVersion进行代码管理
概述 这是产品研发管理系列文章的第二篇:使用SubVersion进行代码管理. 介绍如何使用SubVersion的资料已经许多,这里不准备介绍如何使用SubVersion. 这篇文章主要介绍如何进行代 ...