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. 深入理解hive(1)

    1.安装和配置: 1.1可以通过这个下载链接去下载hive源码来安装一个一个稳定版本的hive.https://cwiki.apache.org/confluence/display/Hive/Get ...

  2. Hadoop 上Hive 的操作

    数据dept表的准备: --创建dept表 CREATE TABLE dept( deptno int, dname string, loc string) ROW FORMAT DELIMITED ...

  3. oracle下关于table的常用sql整理

    创建表,create TABLE table( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ......); eg: create table TABLE_24751( i ...

  4. 十四,K8s集群网络flannel及canal策略

    目录 k8s网络CNI之flannel k8s网络通信模型 常见CNI插件(Container,Network,Interface) 插件通信一般的解决方案 网络插件的应用 Flannel插件 fla ...

  5. ELK对nginx日志进行流量监控

    ELK对nginx日志进行流量监控 一.前言 线上有一套ELK单机版,版本为5.2.1.现在想把nginx访问日志接入到elk里,进行各个域名使用流量带宽的统计分析.要把nginx日志传输到elk上, ...

  6. Linux终端命令行的快捷键

    涉及在Linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. • 常用 1.ctrl+左右键:在单词之间跳转 2.ctrl+a:跳到 ...

  7. VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决

    本文链接:https://blog.csdn.net/weixin_40816738/article/details/90146770 ThinkPad笔记本1.开机按F1或Fn+F1进入BIOS,切 ...

  8. 布隆算法(BloomFilter)

          BloomFilter算法,是一种大数据排重算法.在一个数据量很大的集合里,能准确断定一个对象不在集合里:判断一个对象有可能在集合里,而且占用的空间不大.它不适合那种要求准确率很高的情况, ...

  9. ADO.net 增删改查封装DBhelper

    using System; using System.Collections.Generic; using System.Data.SqlClient;//引用数据库客户端 using System. ...

  10. main方法类 为何由AppClassLoader加载

    AppClassLoader AppClassLoader应用类加载器,又称系统类加载器,负责在JVM启动时加载来自命令java中的classpath或者java.class.path系统属性或者CL ...