学习python(五) 异常

python使用异常对象来表示异常情况。遇到异常后,会引发异常,如果异常对象未被处理或捕获,程序就会用回溯并终止执行。如果知道某段代码可能导致某种异常,如除零,又不希望终止,那么就根据需要添加try/except 或者try/finally进行处理。

虽然使用条件语句也能实现与异常处理同样的功能,但是条件语句可能在自然性和可读性上差些,所以尽量使用异常处理机制。(在做一件事时去处理可能出现的错误,而不是在开始做事前就进行大量的检查)

 

每个异常都是一些类的实例,常见的异常类有:

Exception            所有异常类的基类

AttributeError     特性引用或赋值失效导致

IOError               试图打开不存在的文件

IndexError          序列中索引越界

KeyError             使用映射中不存在的键

NameError          找不到名字或者变量

SyntaxError         语法错误

TypeError            类型错误

ValueError          值错误

ZeroDivisionError      除0错误

 

自定义异常类

class CustomException(Exception):pass

 

抛出异常

raise Exception(“some thing error.”)

 

捕获异常

使用try/except 语句

try:

    x = input("Enter the first number : ")

    y = input("Enter the second number : ")

    print x / y

except ZeroDivisionError:

    print “The Second number can't be zero!”

 

捕获多个异常

try:

    code

except ZeroDivisionError:

    print “The Second number can't be zero!”

except TypeError:

    print “That wasn't a number.”

另一种形式

except (ZeroDivisionError, TypeError, NameError):

     print “some thing wrong.”

捕捉所有异常

except:

    print “some thing wrong.”

或者

except Exception, e:

    print e

它可以让程序继续运行,并且能打印错误。

 

else语句,当没有异常发生时做某些动作

try:

    code

except:

    pass

else:

    pass

 

finally语句,用来在可能的异常后进行清理

try:

   code

finally:

   pass

不管try中是否发生异常,finally语句总会执行



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值