python语法基础-异常操作-长期维护
############### python-异常的操作 ###############
# 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常,
# 抛出异常:python停止程序,提示错误,这就是抛出异常
# 捕获异常:
# 捕获异常的语法:
# try:
# 尝试执行的代码
# except:
# 出现错误的处理
try:
num=int(input('请输入一个整数:'))
except:
print('请输入正确的整数')
print('------------') # 无论上面的代码是否有错误,都会执行下面的代码,
# 错误类型捕获
# 抛出的异常可能是不同类型的错误,我们需要对不同的错误类型,做出不同的响应,
# 在python抛出异常的最后一行的第一个单词就是捕获的错误类型,
# 捕获错误类型的语法:
# try:
# 尝试执行的代码
# except 错误类型1:
# 出现错误的处理
# except (错误类型2,错误类型3):
# 出现多个错误的处理
# except Exception as result:# 捕获未知错误,未知错误就是没有预判到的错误,这是非常固定的语法!!
# print('未知错误%s'%result) try:
num=int(input('请输入一个整数'))
result=8/num
print(result)
except ZeroDivisionError:
print('输入不能是0')
except ValueError:
print('输入必须是整数')
except Exception as result:
print('未知错误%s'%result) # 总结:
# 捕获异常的完整语法:
# try:
# 尝试执行的代码
# except 错误类型1:
# 出现错误的处理
# except (错误类型2,错误类型3):
# 出现多个错误的处理
# except Exception as result:# 捕获未知错误,未知错误就是没有预判到的错误,这是非常固定的语法!!
# print('未知错误%s'%result)
# else:
# 没有异常才会执行的代码
# finally:
# 不管有没有异常都会执行的代码
############### 常见异常 ###############
""" AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的 """
############### 主动触发异常 ###############
try:
raise TypeError('类型错误')
except Exception as e:
print(e)
############### 自定义异常 ###############
class xxxException(BaseException):
def __init__(self,msg):
self.msg = msg
def __str__(self):
return self.msg try:
raise xxxException("")
except xxxException as e:
print(e) # 第二种方式
def func():
try:
for i in range(5):
if i > 2:
raise Exception("数字大于2了")
except Exception as e:
print(e) func()
##############################################
############################################
python语法基础-异常操作-长期维护的更多相关文章
- python语法基础-文件操作-长期维护
############### python-简单的文件操作 ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 ...
- python语法基础-面向对象-进阶-长期维护
############### @property定义属性 ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...
- python语法基础-常用模块-长期维护
############### 常用模块 ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...
- python语法基础-函数-进阶-长期维护
############### 函数的命名空间和作用域 ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...
- python语法基础-函数-递归函数-长期维护
############### 递归 ############## # 递归的定义——在一个函数里再调用这个函数本身 # 递归的最大深度——998 # 二分查找算法 # 你观察这个列表,这是 ...
- Java16-java语法基础——异常
Java16-java语法基础——异常 一.异常概念 1.异常:应用程序在运行过程中出现的错误或非正常的意外情况,即虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误. 2.原因:数组越界.空指针 ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- Python | Python语法基础
目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...
- python语法基础笔记
本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...
随机推荐
- unix中嘚vim编辑器
在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...
- Idea 中的快捷键(mac)
Mac键盘符号和修饰键说明 ⌘ Command ⇧ Shift ⌥ Option ⌃ Control ↩︎ Return/Enter ⌫ Delete ⌦ 向前删除键(Fn+Delete) ↑ 上箭头 ...
- AJAX(阿贾克斯)的简单应用
1.ajax 对象的属性说明(常用的) (1)open(method,url,boolean);创建请求,method :填请求类型(get post),url :请求的地址, boolean:tru ...
- lvm 逻辑卷分区删除恢复
原因:执行 lvremove /dev/system/lv_trans 删除逻辑分区 恢复: 1.进入到lvm查看元数据 cd /etc/lvm/archive 2.恢复元vg卷组 vgcfgrest ...
- svnkit-常用api
0.功能列表 svnkit功能列表 1.递归获取指定目录下目录和文件,以树形展示[svn Update] 2.获取指定文件和属性(版本号.作者.日期.文件类型) 3.获取指定文件或目录的历史记录(版本 ...
- 快速排序&基数排序
//快速排序 #include<stdio.h> void QuickSort(int R[],int low,int high) { int i=low,j=high; int pivo ...
- h5-过度
1.过度的基本介绍及写法 .div{ width: 200px; height: 200px; background-color: red; position: absolute; left: 100 ...
- .net core编译时设置不自动生成“netcoreapp3.0”目录
不知道出于什么目的,.netcore项目默认编译时生成的文件要多加一层"netcoreapp3.0"或"netcoreapp2.1",这应该不符合大多数开发者的 ...
- 17.3.12---socket
1----如果要用python做一个服务器和客户端的通信程序,那么就一定得选择标准库中的scoket套接字模块,它支持多种网络协议:TCP/IP ,ICMP/IP, UDP ...
- 01 语言基础+高级:1-6 集合_day04【Map】
day04 [Map] 主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用”键找值”的方式遍历Map集合 使用”键值对”的方式遍历Map集合 能够使用Hash ...