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文件资源

Python 之 try...except...错误捕捉的更多相关文章

  1. python学习之调试 错误捕捉及处理

    1 捕捉错误:try except    Err_Case1: pass except    Err_Case2: pass else: 正常情况: finally: 无论是否异常都要 处理的代码 w ...

  2. 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉

    3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...

  3. Python程序的常见错误(收集篇)

    关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...

  4. python学习笔记014——错误和异常

    Python有两种错误很容易辨认:语法错误和异常. 1 什么是语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 if i>4 print("if语句输出 ...

  5. Python:no encoding declared 错误

    使用Python编译的时候出现如下错误: SyntaxError: Non-ASCII character ‘\xe5’ in file magentonotes.com.py on line 2, ...

  6. Python学习笔记七-错误和异常

    程序员总是和各种错误打交道,学习如何识别并正确的处理程序错误是很有必要的. 7.1错误和异常 1.错误 从软件方面来看,错误分为语法错误和逻辑错误两种.这两种错误都将导致程序无法正常进行下去,当Pyt ...

  7. Python更新pip出现错误解决方法

    Python更新pip出现错误解决方法 更新pip python -m pip install --upgrade pip 查看时报错 解决方法 在命令栏(即win+r)输入:easy_install ...

  8. Python学习 Part6:错误和异常

    Python学习 Part6:错误和异常 两种不同类型的错误:语法错误和异常 1. 语法错误 语法错误,也被称作解析错误: >>> while True print('Hello w ...

  9. Python 新手常犯错误

    Python 新手常犯错误(第二部分) 转发自:http://blog.jobbole.com/43826/ 作用域 在这篇文章里,我们来关注作用域在Python被误用的地方.通常,当我们定义了一个全 ...

随机推荐

  1. 去重复的sql(Oracle)

    1.利用group by 去重复 2.可以利用下面的sql去重复,如下 1) select id,name,sex from (select a.*,row_number() over(partiti ...

  2. Perl 认识简介

    Perl简介 Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言". Perl 是高级.通用.直译 ...

  3. mint-ui下拉加载min和上拉刷新(demo实例)

    <template> <div class="share"> <div class="header"> <div cl ...

  4. springboot整合mybatis-plus基于纯注解实现一对一(一对多)查询

    因为目前所用mybatis-plus版本为3.1.1,感觉是个半成品,所有在实体类上的注解只能支持单表,没有一对一和一对多关系映射,且该功能还在开发中,相信mybatis-plus开发团队在不久的将来 ...

  5. C++ void*解惑

    最近遇到void *的问题无法解决,发现再也无法逃避了(以前都是采取悄悄绕过原则),于是我决定直面它. 在哪遇到了? 线程创建函数pthread_create()的最后一个参数void *arg,嗯? ...

  6. 第十章、json和pickle模块

    目录 第十章.json和pickle模块 一.序列化 二.json 三.pickle模块 第十章.json和pickle模块 一.序列化 把对象(变量)从内存中变成可存储或传输的过程称之为序列化, 序 ...

  7. 0、CentOS7系统root密码丢失找回方法

    第一步 1.重新启动或开启CentOS7.6系统,在选择进入系统的Grub菜单界面如下图1-1,根据提示按"e"小写字母进入编辑界面,如下图1-2所示: 图1-1 CentOS7. ...

  8. Jmeter (一) 安装

    https://blog.csdn.net/ls1792304830/article/details/52718177 一.准备工具 1.Windows 操作系统 2.jmeter 3.JDk 依赖环 ...

  9. openGL中的gl,glu,glut

    OpenGL函数库相关的API有核心库(gl).实用库(glu).辅助库(aux).实用工具库(glut).窗口库(glx.agl.wgl)和扩展函数库等.gl是核心,glu是对gl的部分封装.glx ...

  10. python和ruby:一些需要注意的小区别。

    python和ruby的一些区别 基础区别 运算符号/和// ruby只有/符号.它根据操作的数字类型返回对应的结果.如果数字的类型是int,则返回整除结构,如果是float,则返回float类型的计 ...