使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。 演示raise用法
1
2
3
4
5
6
7
8
|
try
:
s
=
None
if
s
is
None
:
print
"s 是空对象"
raise
NameError
print
len
(s)
except
TypeError:
print
"空对象没有长度"
|
自定义异常 python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
from
__future__
import
division
class
DivisionException(Exception):
def
__init__(
self
, x, y):
Exception.__init__ (
self
, x, y)
self
.x
=
x
self
.y
=
y
if
__name__
=
=
"__main__"
:
try
:
x
=
3
y
=
2
if
x
%
y >
0
:
print
x
/
y
raise
DivisionException(x, y)
except
DivisionException,div:
print
"DivisionExcetion: x/y = %.2f"
%
(div.x
/
div.y)
|
|