吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4335|回复: 17
收起左侧

[Python 转载] 【笔记】 python学习笔记 关于异常

[复制链接]
SuNu11 发表于 2016-8-31 11:29
本帖最后由 SuNu11 于 2016-8-31 13:58 编辑

一、简述异常概念与常见错误类
二、try...except语句与实例描述
三、引发异常与实例描述
四、try..finally、try...except语句介绍
一、简述异常概念与常见错误类
异常:是指程序中的例外,违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。
[size=0.8]Exception类是常用的异常类,该类包括StandardError,StopIteration, GeneratorExit, Warning等异常类。
[size=0.8]StandardError类是python中的错误异常,如果程序上出现逻辑错误, 将引发该异常。StandardError类是所有内敛异常的基类,放置在默认的命名空间中,因此使用IOEroor,
[size=0.8]EOFError, ImportError等类,不需要导入exception模块。

[size=0.8]StopIteration类判断循环是否执行到尾部,如果循环到尾部,则抛出该异常。

[size=0.8]GeneratorExit类是由Generator函数引发的异常,当调用close()时引发该异常。
[size=0.8]Warning类表示程序中的代码引起的警告。
[size=0.8]python中的异常使用继承结构创建,可以在异常处理程序中捕获基类异常,也可以捕获各种子类异常,python中使用try...except语句捕获异常,异常子句定义在try子句后面。
[size=0.8]错误:SyntaxError 错误位置    错误处理器

二、try...except语句与实例描述try..except          使用try..except语句来处理异常。我们把通常的语句放在try-块中,而把我们的错误处理语句放在except-块中。
import sys
try:
          s = raw_input('something:')                                         所有可能引发错误的语句
except EOFError:
         print '错误提示语句'
         sys.exit()            退出程序
except:         如果try里面的语句无法正确执行,那么就执行except里面的语句,这里面可以是错误信息或者其他的可执行语句
         print '错误语句'   
print 'Done'
可以加finally:不管是否有异常,都要执行某段代码
else:如果try里面的语句可以正常执行,那么就执行else里面的语句(相当于程序没有碰到致命性错误)


三、引发异常与实例描述
引发异常
可以使用raise语句引发异常。还得指明错误/异常的名称和伴随异常触发的异常对象。可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。

class asdException (Exception):        定义一个异常类,自定义的异常类必须是Exception或者Error的子类!
    '''A user-defined exception class.'''   
def __init__(self,length,atleast):          #调用基类的__init__进行初始化
        Exception.__init__(self)
        self.length = length
        self.atleast = atleast
try:                                                
    s = raw_input('Enter something:')        
    if len(s) < 3:                          输入长度小于三
        raise asdException(len(s),3)             使用raise语句来引发一个异常  一旦执行了raise语句,raise后面的语句将不能执行。
except EOFError:                            捕获EOFError 异常
    print '\nWhy did you do an EOF on me?'
except asdException, x:                  x为asdException 的具体实例
    print 'ShortInputException: The input was of length %d,was expecting at least %d' % (x.length,x.atleast)
else:                                  [size=0.8] 只有在try中没有异常才执行else语句
    print 'No exception was raised.'


四、try..finally、try...except语句介绍
try..finally、try...except用于处理问题语句,捕获可能出现的异常。try子句中的代码块放置可能出现异常的语句,except子句中的代码块处理异常。在try下可以同时使用except和finally块,同时使用必须把一个嵌入另外一个。








发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
-Zing- 发表于 2016-8-31 14:34
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| SuNu11 发表于 2016-8-31 18:40
-Zing- 发表于 2016-8-31 14:34
哦。不。你理解错了。笔记你不可能只发这一个吧, 应该有好几个笔记。http://www.52pojie.cn/thread-391498 ...

我明白你的意思了,我的笔记没发帖,这个是觉得挺难记住就发了一下,其他的都本地保存了~~
做教程现在还为时过早,等学熟练了会考虑弄一套的
头像被屏蔽
-Zing- 发表于 2016-8-31 11:53
 楼主| SuNu11 发表于 2016-8-31 13:51
-Zing- 发表于 2016-8-31 11:53
应该有一个汇总。目录

嗯,谢谢,第一次写这个 马上改
头像被屏蔽
-Zing- 发表于 2016-8-31 14:37
提示: 作者被禁止或删除 内容自动屏蔽
zangyi 发表于 2016-8-31 14:38
mark一下,感谢分享
水稻 发表于 2016-8-31 18:16
有机会学学,这个不错
头像被屏蔽
-Zing- 发表于 2016-9-2 09:19
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| SuNu11 发表于 2016-9-2 10:15
-Zing- 发表于 2016-9-2 09:19
像这样的笔记我都是记在博客园这样的论坛里。

嗯,下次会放有意义的东西
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-18 14:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表