当前位置:首页 >> 编程语言 >> 【Python笔记】异常处理,LG kf690

【Python笔记】异常处理,LG kf690

0evadmin 编程语言 2
文件名:【Python笔记】异常处理,LG kf690 【Python笔记】异常处理

1 什么是异常

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。

当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

2 常见的异常的类型

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用户代码生成的警告

3 异常处理的实例

异常处理的通用结构:

try:#可能出现异常的代码 codeexcept 异常名:codeelse#未发生异常时,执行这里的语句#else也可以不写 your code #other code of your programcode

当我们不清楚异常的具体类型的时候,我们可以获取异常的参数:

try:You do your operations here;......................except ExceptionType, Argument:You can print value of Argument here...

try-finally的使用,try-finally 语句无论是否发生异常都将执行最后的代码。

注意:你可以使用except语句或者finally语句,但是两者不能同时使用。else语句也不能与finally语句同时使用

在平常写程序的过程中,容易用到的场景包括文件的读写操作和数据库的相关操作,下面来举几个例子说明如何编写异常处理的代码。

#coding=utf-8# this is an example for file io exception processing# open a file import os#获取当前文件的路径file_path = os.getcwd()print file_pathfile_name = "data.txt"#反斜杠要加转义字符file_name = file_path + '\\' + file_nameprint file_name#以各种权限打开文件'''w 以写方式打开,a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)r+ 以读写模式打开w+ 以读写模式打开 (参见 w )a+ 以读写模式打开 (参见 a )rb 以二进制读模式打开wb 以二进制写模式打开 (参见 w )ab 以二进制追加模式打开 (参见 a )rb+ 以二进制读写模式打开 (参见 r+ )wb+ 以二进制读写模式打开 (参见 w+ )ab+ 以二进制读写模式打开 (参见 a+ )'''#myfile = file(file_name , 'w')#异常处理myfile = file(file_name )#读取文件中的内容one_line_content = myfile.readline() #读取一行的信息print myfile.tell()content = myfile.read() #读取当前位置之后的所有的信息print contentprint "read one line"print myfile.tell()print one_line_contenttry:myfile.read()except Exception,e:print "error happened ", eelse:print "there is no exception"print "go on with the program"print "do something else!"#读取完文件之后要关闭文件myfile.close()try:myfile.read()except IOError: # 根据异常的种类进行捕获操作print "this is a io error"except NameError:print "this is a name error"except ValueError:print "this is a value error"else: #如果try代码中没有发生异常会执行else里边的操作print "other kind of error"print "go on with the progarmme"

  对应的数据文件:data.txt

name:12341zhaozilong:456zhaoyun:134simayi:33Jack:23Rose:55

  

 

参考文章和连接

①Python异常处理  W3C

转载于:https://www.cnblogs.com/codemyzen/p/4228132.html

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接