理解python中的ValueError: 在python中的 "无效数字"。

问题描述 投票:-1回答:1

我有以下问题。

定义一个名为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.

python function exception valueerror
1个回答
1
投票

将其改为 "无效数字"。

if x==0 and y==0:
        raise ValueError("Invalid numbers")

这个

if x==0 and y==0:
        raise ValueError('"Invalid numbers"')

0
投票

反正我觉得你不应该打印双引号:) 当异常被打印到控制台时,信息通常不会用双引号括起来。


下面的方法应该可以解决这个问题(你有一个不必要的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)

0
投票

你的问题的解决方案可以是

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)

© www.soinside.com 2019 - 2024. All rights reserved.