Python常见异常类型大概分为以下类:

1.AssertionError:当assert断言条件为假的时候抛出的异常

2.AttributeError:当访问的对象属性不存在的时候抛出的异常

3.IndexError:超出对象索引的范围时抛出的异常

4.KeyError:在字典中查找一个不存在的key抛出的异常

5.NameError:访问一个不存在的变量时抛出的异常

6.OSError:操作系统产生的异常

7.SyntaxError:语法错误时会抛出此异常

8.TypeError:类型错误,通常是不通类型之间的操作会出现此异常

9.ZeroDivisionError:进行数学运算时除数为0时会出现此异常

导入:
lib下面的模块文件可以直接导入,如果不是就要指明路径
import class_test #具体到模块名
class_test.add(2, 5)

import 具体到函数名
from class_test import add, sub, ...
add(5, 6)

测试代码 放在if下面
if __name__ == '__main__': #执行程序的主入口
print("今天天气不错!") # 只有当你在当前模块下执行代码的时候才会执行这里面的代码

import time
time.sleep(4)

Python代码里的异常处理
异常:代码运行的时候报错
如果不处理,后续的程序就中断了

1. 最简单的用法 try ... except
try: 放你觉得有问题的代码,放监控代码
except 捕捉错误并进行处理
第一种用法:捕捉错误,不进行处理
try:
print(a)
except: # 捕捉错误
pass # pass 啥都不做,忽略,放生
print("hello, world")

第二种用法:对错误进行简单的处理
try:
print(a)
except:
print("error!!!") 捕捉错误后报错
print("hello, world")

第三种用法:打印出具体的错误
try:
print(a)
except Exception as e: #中央空调
print("出错了:%s" % e)
print("hello, world")

NameError()

try:
print(a)
except NameError as e: # 小太阳
print("出错了:%s" % e)
print("hello, world")

第四种用法:try...except...finally
try:
print(a)
except IndexError as e: # 小太阳
print("出错了:%s" % e)
finally: #无论是否能捕捉到错误,finally后面的程序都运行
print("hello, world")

# 用途:一般我们用在文件或数据库资源的处理
try:
file = open('test.txt', 'w')
file.read()
except Exception as e:
print("出错了:%s" % e)
finally:
file.close()

第五种用法:try...except...else
try:
a = 4
b
except Exception as e:
print("出错了:%s" % e)
else: # 只有当try不报错的时候,才会继续执行
print(a)

# 第五种用法
# 上下文管理器 with...as
with open("test.txt", 'w') as file:
file.write("今天天气真好")
print("with代码内", file.closed)
print(file.closed) # 布尔值
# 什么时候用? mysql, txt文件资源

最新文章

  1. Struts2中Date日期转换的问题
  2. ssh整合问题总结--在添加商品模块实现图片(文件)的上传
  3. height:100%不起作用(无效),div全屏
  4. 【XLL 框架库函数】 debugPrintf
  5. September 18th 2016 Week 39th Sunday
  6. Android开发环境变量配置总结
  7. springMVC之HelloWorld
  8. 判断textview是否被截断
  9. Ubuntu 13.04 用Sublime Text 2 编译运行 JAVA
  10. qt学习:信号,槽
  11. C# - String与StringBuilder
  12. .NET支持上下左右移动操作
  13. window10(64bit)+VS2010编译ACE_TAO源码库
  14. spark-submit参数说明--standalone
  15. Java注解开发与应用案例
  16. node.js浅见
  17. 编写Shell脚本的最佳实践
  18. 【双目备课】OpenCV例程_stereo_calib.cpp解析
  19. ABP框架系列之十九:(Debugging-调试)
  20. 自定义el标签

热门文章

  1. MyBatis-plus 新增实例,主键ID从很大的数字开始
  2. FileStrem大文件分割复制
  3. 【C】文件操作
  4. 8.5.zookeeper应用案例_分布式应用HA
  5. C++实例 分解质因数
  6. AD软件中可视栅格 捕捉栅格 电气栅格的功能和设置详解
  7. NTP时间同步服务和DNS服务
  8. Python往kafka生产消费数据
  9. c# 获取api 数据
  10. 数据管理必看!Kendo UI for jQuery过滤器状态保持