Python 之 try...except...错误捕捉
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...错误捕捉的更多相关文章
- python学习之调试 错误捕捉及处理
1 捕捉错误:try except Err_Case1: pass except Err_Case2: pass else: 正常情况: finally: 无论是否异常都要 处理的代码 w ...
- 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉
3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...
- Python程序的常见错误(收集篇)
关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...
- python学习笔记014——错误和异常
Python有两种错误很容易辨认:语法错误和异常. 1 什么是语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 if i>4 print("if语句输出 ...
- Python:no encoding declared 错误
使用Python编译的时候出现如下错误: SyntaxError: Non-ASCII character ‘\xe5’ in file magentonotes.com.py on line 2, ...
- Python学习笔记七-错误和异常
程序员总是和各种错误打交道,学习如何识别并正确的处理程序错误是很有必要的. 7.1错误和异常 1.错误 从软件方面来看,错误分为语法错误和逻辑错误两种.这两种错误都将导致程序无法正常进行下去,当Pyt ...
- Python更新pip出现错误解决方法
Python更新pip出现错误解决方法 更新pip python -m pip install --upgrade pip 查看时报错 解决方法 在命令栏(即win+r)输入:easy_install ...
- Python学习 Part6:错误和异常
Python学习 Part6:错误和异常 两种不同类型的错误:语法错误和异常 1. 语法错误 语法错误,也被称作解析错误: >>> while True print('Hello w ...
- Python 新手常犯错误
Python 新手常犯错误(第二部分) 转发自:http://blog.jobbole.com/43826/ 作用域 在这篇文章里,我们来关注作用域在Python被误用的地方.通常,当我们定义了一个全 ...
随机推荐
- 深入理解hive(1)
1.安装和配置: 1.1可以通过这个下载链接去下载hive源码来安装一个一个稳定版本的hive.https://cwiki.apache.org/confluence/display/Hive/Get ...
- Hadoop 上Hive 的操作
数据dept表的准备: --创建dept表 CREATE TABLE dept( deptno int, dname string, loc string) ROW FORMAT DELIMITED ...
- oracle下关于table的常用sql整理
创建表,create TABLE table( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ......); eg: create table TABLE_24751( i ...
- 十四,K8s集群网络flannel及canal策略
目录 k8s网络CNI之flannel k8s网络通信模型 常见CNI插件(Container,Network,Interface) 插件通信一般的解决方案 网络插件的应用 Flannel插件 fla ...
- ELK对nginx日志进行流量监控
ELK对nginx日志进行流量监控 一.前言 线上有一套ELK单机版,版本为5.2.1.现在想把nginx访问日志接入到elk里,进行各个域名使用流量带宽的统计分析.要把nginx日志传输到elk上, ...
- Linux终端命令行的快捷键
涉及在Linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. • 常用 1.ctrl+左右键:在单词之间跳转 2.ctrl+a:跳到 ...
- VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么解决
本文链接:https://blog.csdn.net/weixin_40816738/article/details/90146770 ThinkPad笔记本1.开机按F1或Fn+F1进入BIOS,切 ...
- 布隆算法(BloomFilter)
BloomFilter算法,是一种大数据排重算法.在一个数据量很大的集合里,能准确断定一个对象不在集合里:判断一个对象有可能在集合里,而且占用的空间不大.它不适合那种要求准确率很高的情况, ...
- ADO.net 增删改查封装DBhelper
using System; using System.Collections.Generic; using System.Data.SqlClient;//引用数据库客户端 using System. ...
- main方法类 为何由AppClassLoader加载
AppClassLoader AppClassLoader应用类加载器,又称系统类加载器,负责在JVM启动时加载来自命令java中的classpath或者java.class.path系统属性或者CL ...