###############    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语法基础-异常操作-长期维护的更多相关文章

  1. python语法基础-文件操作-长期维护

    ###############    python-简单的文件操作  ############### # python中文件的操作 # 文件操作的基本套路 # 1,打开文件,默认是是只读方式打开文件 ...

  2. python语法基础-面向对象-进阶-长期维护

    ###############    @property定义属性    ############## # 所以对于定义属性你有好几种方式了和种类了,# 静态属性,动态属性, # property # ...

  3. python语法基础-常用模块-长期维护

    ###############      常用模块   ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...

  4. python语法基础-函数-进阶-长期维护

    ###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...

  5. python语法基础-函数-递归函数-长期维护

    ###############    递归   ############## # 递归的定义——在一个函数里再调用这个函数本身 # 递归的最大深度——998 # 二分查找算法 # 你观察这个列表,这是 ...

  6. Java16-java语法基础——异常

    Java16-java语法基础——异常 一.异常概念 1.异常:应用程序在运行过程中出现的错误或非正常的意外情况,即虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误. 2.原因:数组越界.空指针 ...

  7. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  8. Python | Python语法基础

    目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...

  9. python语法基础笔记

    本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...

随机推荐

  1. a.e. almost everywhere i.e. 是拉丁语id est的缩写

    a.e.     :   almost everywhere i.e.是拉丁语id est的缩写,意为“也就是说,与英文that is的意思一样

  2. Python笔记_第五篇_Python数据分析基础教程_NumPy基础

    1. NumPy的基础使用涵盖如下内容: 数据类型 数组类型 类型转换 创建数组 数组索引 数组切片 改变维度 2. NumPy数组对象: NumPy中的ndarray是一个多维数组对象,该兑现共有两 ...

  3. unable to execute /bin/mv: Argument list too long

    四种解决”Argument list too long”参数列表过长的办法 转自 http://hi.baidu.com/cpuramdisk/item/5aa49ce00c0757aecf2d4f2 ...

  4. 面试准备 HTTP协议

    http协议的主要特点 简单快速  //某个资源是固定的 (统一资源符)UII 灵活  //http头部有个数据类型,完成不同数据类型的传输 无连接  //链接一次就会断开 无状态 //客户端和服务端 ...

  5. 开始新建AEM站点-周末教程

    Getting Started Developing AEM Sites - WKND Tutorial 开始新建AEM站点-周末教程 The goal for this multi-part tut ...

  6. Servlet基本概念及其部署

    什么servlet? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动 ...

  7. matlab 高级

    绘图 条形图 x = [1:10]; y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95]; bar(x,y), xlabel('Student'),ylabel( ...

  8. udp和tcp通信

    一.参考文档 1.从UDP的”连接性”说起–告知你不为人知的UDP 2.Linux UDP通信例子

  9. java中abstract怎么使用

    abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半 ...

  10. zookeeper以及集群的搭建

    今天我来写一写zookeeper集群的搭建流程 1.zookeeper的搭建不难,难的是对他的理解以及良好的使用.单机版的zookeeper只需要解压后直接命令 启动即可 解压zookeeper,ta ...