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 ...
随机推荐
- HyperLedger Cello学习笔记
HyperLedger Cello学习笔记 转载请注明出处:HyperLedger Cello学习笔记 概述 Hyperledger Cello是Hyperledger下的一个子项目,其主要功能如下: ...
- 修复grub
进入命令行模式,#chroot /mnt/sysimage :切换根目录#grub2-install /dev/sda :安装grub2到第一硬盘#grub2-mkconfig -o /boot/gr ...
- 挑战目标跟踪算法极限,SiamRPN系列算法解读
商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT.PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++.此篇文章将解读目 ...
- [腾讯 TMQ] 接口测试用例设计
接口测试 [腾讯 TMQ] 接口测试用例设计 腾讯移动品质中心 · 2018年01月17日 · 最后由 于静 回复于 20 天前 · 21794 次阅读 本帖已被设为精华帖! 目录 作者:刘燕 团队: ...
- Java学习笔记--精品札记
forech循环增强版(JDK1.7新特性) for(数组单位元素类型 i:遍历目标数组){ 代码块 } char(只能放单个字符)数组可以直接遍历不需要循环,其他数组不可以,必须遍历 toStrin ...
- mysql 基本知识 以及优化
msql的索引应用 1.hash索引 等于值比较时 2.tree索引 范围比较 like '%%'
- Django知识点集合
- 【MySQL参数优化】根据架构优化
根据MySQL的架构优化 参数调整的最终效果: 1)SQL执行速度足够快 2)业务吞吐量足够高:TPS,QPS 3)系统负载可控,合理:cpu,io负载 在调整参数的时候,应该熟悉mysql的体系架构 ...
- 吴裕雄--天生自然 JAVA开发学习:StringBuffer、数组
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(& ...
- 数据分析基础-jupyter notebook-Anaconda-Numpy
数据分析介绍 1.数据分析是什么? 2.数据分析能干什么? 3.为什么利用Python进行数据分析? 4.数据分析过程概述 5.常用库简介 1.数据分析是什么? 数据分析是指用适当的统计分析方法对收集 ...