python-异常

异常的发生

在代码执行期间任何错误都有可能发生,每一个异常都会产生错误信息。

NameError。

如下是 command exception:

>>> print kushal
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'kushal' is not defined

最后一行包含了error 信息。

TypeError

typeError也是一个经常被看到的异常。在试图去对不同数据类型的数据操作的时候会发生。

如下:

>>> print 1 + "kushal"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

那么如何去处理异常?

try……except  块。


try:

    ……

except exceptionName:

 异常发生的时候的处理。


如果异常在except块没有被处理掉,那么它go out of  try 块。


如下例子:

>>> def get_number():
...     "Returns a float number"
...     number = float(raw_input("Enter a float number: "))
...     return number
...
>>>
>>> while True:
...     try:
...         print get_number()
...     except ValueError:
...         print "You entered a wrong value"
...
Enter a float number: 45.0
45.0
Enter a float number: 24,0
You entered a wrong value
Enter a float number: Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
  File "<stdin>", line 3, in get_number
KeyboardInterrupt

如果没有名字的异常可以捕获任何异常:

>>> try:
...     raw_input() # Press Ctrl+c for a KeyboardInterrupt
... except:
...     print "Unknown Exception"
...
Unknown Exception

使用 finally ,:

>>> try:
...     fobj = open("hello.txt", "w")
...     res = 12 / 0
... except ZeroDivisionError:
...     print "We have an error in division"
... finally:
...     fobj.close()
...     print "Closing the file object."
...
We have an error in division
Closing the file object.




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值