我有以下问题。
定义一个名为exce_sum的函数,返回两个参数之和 但如果两个参数都是0,函数应该引发一个异常,说 "无效数字" 异常需要有ValueError()类,异常的返回类型必须是字符串,使用try和except.
我写了下面的代码。
def exce_sum(x,y):
if x==0 and y==0:
raise ValueError("Invalid numbers")
try:
z=x+y
return(z)
except:
return("the return type of the exception must be a string")
当我写函数exce_sum(0,0)的时候,我收到了错误信息 ValueError: Invalid numbers
而不是 ValueError: "Invalid numbers"
.然而,我不知道如何接收错误的ValueError: "Invalid numbers".Thank you in advance for your help.
将其改为 "无效数字"。
if x==0 and y==0:
raise ValueError("Invalid numbers")
这个
if x==0 and y==0:
raise ValueError('"Invalid numbers"')
反正我觉得你不应该打印双引号:) 当异常被打印到控制台时,信息通常不会用双引号括起来。
下面的方法应该可以解决这个问题(你有一个不必要的try-except块)。
def exce_sum(x, y):
if x == 0 and y == 0:
raise ValueError("Invalid numbers") # if you still want the quotes use '"Invalid numbers"'
z = x + y
return str(z)
你的问题的解决方案可以是
def exce_sum(num1,num2)。
try:
if (num1 == 0 and num2 == 0):
raise ValueError("Invalid Numbers")
else:
return num1 + num2
except ValueError as error:
print(error)
exce_sum(0,0)