热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python2和python3的try...except...

格式:try:passexceptValueErrorase:passexceptExceptionase:passelse:passfinally:passtry

格式:

try:passexcept ValueError as e:passexcept Exception as e:passelse:passfinally:pass

try 包含在try下的所有代码块都会进行异常检测处理
execpt 处理异常 其后面的e(标准故障信息)可以指定也可以不指定
finally 不管是否出现异常都会执行其下面的代码块

python2

def division(x,y):if y == 0 :raise ZeroDivisionError('The zero is not allow')return x/ytry:division(1,0)
except ZeroDivisionError, e:print(e)

python3

def division(x,y):if y == 0 :raise ZeroDivisionError('The zero is not allow')return x/ytry:division(1,0)
except ZeroDivisionError as e:print(e)#输出The zero is not allow

自定义异常类

#_*_coding=UTF-8_*_
#使用自定义异常类实现指定输入字符串长度
#自定义异常类class SomeCustomError(Exception):def __init__(self,str_length):super(SomeCustomError,self).__init__()self.str_length = str_length#使用自定义异常
length = input("输入指定输入字符串长度范围:\n")
while True:try:s &#61; input("输入一行字符串:\n")#输入字符串长度超过指定长度范围,引发异常if (int(length) < len(s)):raise SomeCustomError(int(length))except SomeCustomError as x:print("捕获自定义异常")print("输入字符串重读应该小于%d,请重新输入!" % x.str_length)else:print("输入字符串为%s" % s)break

测试

输入指定输入字符串长度范围:
2
输入一行字符串:
sjgx
捕获自定义异常
输入字符串重读应该小于2,请重新输入!
输入一行字符串:
dd
输入字符串为dd



python标准异常


异常名称描述
BaseException所有异常的基类
SystemExit解释器请求退出
KeyboardInterrupt用户中断执行(通常是输入^C)
Exception常规错误的基类
StopIteration迭代器没有更多的值
GeneratorExit生成器(generator)发生异常来通知退出
StandardError所有的内建标准异常的基类
ArithmeticError所有数值计算错误的基类
FloatingPointError浮点计算错误
OverflowError数值运算超出最大限制
ZeroDivisionError除(或取模)零 (所有数据类型)
AssertionError断言语句失败
AttributeError对象没有这个属性
EOFError没有内建输入,到达EOF 标记
EnvironmentError操作系统错误的基类
IOError输入/输出操作失败
OSError操作系统错误
WindowsError系统调用失败
ImportError导入模块/对象失败
LookupError无效数据查询的基类
IndexError序列中没有此索引(index)
KeyError映射中没有这个键
MemoryError内存溢出错误(对于Python 解释器不是致命的)
NameError未声明/初始化对象 (没有属性)
UnboundLocalError访问未初始化的本地变量
ReferenceError弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError一般的运行时错误
NotImplementedError尚未实现的方法
SyntaxErrorPython 语法错误
IndentationError缩进错误
TabErrorTab 和空格混用
SystemError一般的解释器系统错误
TypeError对类型无效的操作
ValueError传入无效的参数
UnicodeErrorUnicode 相关的错误
UnicodeDecodeErrorUnicode 解码时的错误
UnicodeEncodeErrorUnicode 编码时错误
UnicodeTranslateErrorUnicode 转换时错误
Warning警告的基类
DeprecationWarning关于被弃用的特征的警告
FutureWarning关于构造将来语义会有改变的警告
OverflowWarning旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning关于特性将会被废弃的警告
RuntimeWarning可疑的运行时行为(runtime behavior)的警告
SyntaxWarning可疑的语法的警告
UserWarning用户代码生成的警告

推荐阅读
author-avatar
让安丷全筑起心灵的屏障
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有