如何在python中更改错误消息?

如何在python中更改错误消息?,python,python-3.x,numpy,error-handling,scipy,Python,Python 3.x,Numpy,Error Handling,Scipy,代码如下: A = np.array([ [x1**2, x1, z1], [x2**2, x2, z2], [x3**2, x3, z3] ]) B = np.array([y1, y2, y3]) B = B.T global X try: X = linalg.solve(A, B) except TracebackError: raise InputValueError('Input values nopt

代码如下:

    A = np.array([ [x1**2, x1, z1], [x2**2, x2, z2], [x3**2, x3, z3] ])
    B = np.array([y1, y2, y3])
    B = B.T

    global X
    try:
        X = linalg.solve(A, B)
    except TracebackError:
        raise InputValueError('Input values nopt compatible') from None
所以基本上我想用scipy解决这个问题。如果我有两个相同的输入tho,我会得到一个回溯错误。为了让它更清晰,如果回溯错误发生,我想将其更改为“InputValueError('InputValuesNotCompatible')”。这个try/except是如何工作的,我如何正确使用它


p、 s.“try”之后的代码显然是错误的,这就是我需要您帮助的部分

没有必要使用来自None的
部分

try:
     X = linalg.solve(A, B)
except np.linalg.LinAlgError as e:
     print("Got: ", e)

     raise InputValueError('Input values nopt compatible')

然后它说“'TracebackError'未定义”@Janis这不是你得到的错误吗?如果没有,请附加您的错误并将
除回溯错误更改为e:
除e:
这是奇怪的部分,我收到了回溯错误,但它不起作用…请将完整的错误输出附加到问题,而无需您的解决方案:
回溯(最近一次调用):文件“C:\Users\Klipp\Desktop\IFR\IFR\u PCS\IFR\u PCS”,第32行,在查找公式(-1,0,1,-1,0,1,10,0,1)文件“C:\Users\Klipp\Desktop\IFR\u PCS\IFR\u PCS”的第23行,在查找公式X=linalg.solve(A,B)文件“C:\Program Files\Python38\lib\site packages\scipy\linalg\basic.py”的第214行中,在“C:\Program Files\Python38\lib\site packages\linalg\basic.py”文件中,第29行,在_solve_check中,raise LinAlgError('矩阵是奇异的。')numpy.linalg.linalgerro:矩阵是奇异的。