#例子1
1. #coding:utf-8
2.
3. def fun(a, b):
4. if b == 0:
5. raise Exception('info', 'zero')
6. else:
7. return a / b
8. i = 2
9. while i > 0:
10. try:
11. k = 0
12. n = 5 / k
13. except KeyboardInterrupt:#键盘异常:ctr+ d可以推出循环
14. break
15. except Exception, e: #异常对象
16. print 'error', e #输出异常信息
17. finally:
18. 'finally'
19. i -= 1
20. print 'end'
21.
22. print fun(1, 1)
23. print fun(1, 0)
#-------------------------------------------
#例子2
#!/usr/bin/python
# Filename: raising.py
class ShortInputException(Exception):
'''A user-defined exception class.'''
def __init__(self, length, atleast):
Exception.__init__(self)
self.length = length
self.atleast = atleast
try:
s = raw_input('Enter something --> ')
if len(s) < 3:
raise ShortInputException(len(s), 3)
# Other work can continue as usual here
except EOFError:
print '\nWhy did you do an EOF on me?'
except ShortInputException, x:
print 'ShortInputException: The input was of length %d, \
was expecting at least %d' % (x.length, x.atleast)
else:
print 'No exception was raised.'
1. #coding:utf-8
2.
3. def fun(a, b):
4. if b == 0:
5. raise Exception('info', 'zero')
6. else:
7. return a / b
8. i = 2
9. while i > 0:
10. try:
11. k = 0
12. n = 5 / k
13. except KeyboardInterrupt:#键盘异常:ctr+ d可以推出循环
14. break
15. except Exception, e: #异常对象
16. print 'error', e #输出异常信息
17. finally:
18. 'finally'
19. i -= 1
20. print 'end'
21.
22. print fun(1, 1)
23. print fun(1, 0)
#-------------------------------------------
#例子2
#!/usr/bin/python
# Filename: raising.py
class ShortInputException(Exception):
'''A user-defined exception class.'''
def __init__(self, length, atleast):
Exception.__init__(self)
self.length = length
self.atleast = atleast
try:
s = raw_input('Enter something --> ')
if len(s) < 3:
raise ShortInputException(len(s), 3)
# Other work can continue as usual here
except EOFError:
print '\nWhy did you do an EOF on me?'
except ShortInputException, x:
print 'ShortInputException: The input was of length %d, \
was expecting at least %d' % (x.length, x.atleast)
else:
print 'No exception was raised.'
本文通过两个示例介绍了Python中如何进行异常处理及自定义异常类的创建过程。第一个例子展示了使用try...except...finally结构来捕获并处理除数为零的异常情况;第二个例子则演示了如何定义一个名为ShortInputException的自定义异常类,并在输入长度小于预期值时抛出该异常。
1492

被折叠的 条评论
为什么被折叠?



