以下是一个使用Python编写的示例代码,演示了如何部分函数与输入验证:
def divide_numbers(a, b):
if not (isinstance(a, (int, float)) and isinstance(b, (int, float))):
raise TypeError("输入参数必须为数字类型")
if b == 0:
raise ValueError("除数不能为零")
return a / b
try:
result = divide_numbers(10, 2)
print(result)
except (TypeError, ValueError) as e:
print(e)
try:
result = divide_numbers(10, 0)
print(result)
except (TypeError, ValueError) as e:
print(e)
try:
result = divide_numbers("10", 2)
print(result)
except (TypeError, ValueError) as e:
print(e)
这段代码定义了一个divide_numbers
函数,接收两个参数a和b,并执行a除以b的操作。在函数内部,我们首先使用isinstance
函数验证输入参数a和b是否为数字类型。如果不是数字类型,我们会抛出一个TypeError
异常。
接下来,我们检查除数是否为零。如果是零,我们会抛出一个ValueError
异常。
在代码的主体部分,我们使用try-except
语句来捕获可能发生的异常。如果没有异常发生,我们打印计算结果;如果有异常发生,我们打印异常消息。
在示例中,我们分别对输入参数是整数和浮点数、除数为零、输入参数为字符串的情况进行了验证。根据不同的验证结果,我们会得到不同的异常消息。