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 ...
随机推荐
- a.e. almost everywhere i.e. 是拉丁语id est的缩写
a.e. : almost everywhere i.e.是拉丁语id est的缩写,意为“也就是说,与英文that is的意思一样
- Python笔记_第五篇_Python数据分析基础教程_NumPy基础
1. NumPy的基础使用涵盖如下内容: 数据类型 数组类型 类型转换 创建数组 数组索引 数组切片 改变维度 2. NumPy数组对象: NumPy中的ndarray是一个多维数组对象,该兑现共有两 ...
- unable to execute /bin/mv: Argument list too long
四种解决”Argument list too long”参数列表过长的办法 转自 http://hi.baidu.com/cpuramdisk/item/5aa49ce00c0757aecf2d4f2 ...
- 面试准备 HTTP协议
http协议的主要特点 简单快速 //某个资源是固定的 (统一资源符)UII 灵活 //http头部有个数据类型,完成不同数据类型的传输 无连接 //链接一次就会断开 无状态 //客户端和服务端 ...
- 开始新建AEM站点-周末教程
Getting Started Developing AEM Sites - WKND Tutorial 开始新建AEM站点-周末教程 The goal for this multi-part tut ...
- Servlet基本概念及其部署
什么servlet? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动 ...
- matlab 高级
绘图 条形图 x = [1:10]; y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95]; bar(x,y), xlabel('Student'),ylabel( ...
- udp和tcp通信
一.参考文档 1.从UDP的”连接性”说起–告知你不为人知的UDP 2.Linux UDP通信例子
- java中abstract怎么使用
abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半 ...
- zookeeper以及集群的搭建
今天我来写一写zookeeper集群的搭建流程 1.zookeeper的搭建不难,难的是对他的理解以及良好的使用.单机版的zookeeper只需要解压后直接命令 启动即可 解压zookeeper,ta ...