自定义异常与抛出异常

自定义抛出异常raise

  • 将信息以报错的形式抛出
用法
  • rais 异常类型(message)
参数
  • message:错误信息
返回值
  • 无返回值

自定义异常类

  • 继承基类——Exception
  • 构造函数定义错误信息

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# coding:utf-8

def test(number):
if number == 100:
raise ValueError('number 不可以是100')
return number


# result = test(100)
# print(result)


def test2(number):
try:
return test(number)
except ValueError as e:
return e


result = test2(100)
print(result)


def test3():
raise '错误了'


# test3()

def test4(name):
if name == 'dewei':
raise Exception('dewei不可以被填写')
return name


# test4('dewei')


class NumberLimitError(Exception):
def __init__(self, message):
self.message = message


class NameLimitError(Exception):
def __init__(self,message):
self.message = message


def test5(name):
if name == 'dewei':
raise NameLimitError('dewei不可以被填写')
return name


def test6(number):
if number > 100:
raise NumberLimitError('数字不可以大于100')
return number


print('----------')
try:
test5('dewei')
except NameLimitError as e:
print(e)

try:
test6(1000)
except NumberLimitError as e:
print(e)

# test5('dewei')