Java矩阵类加法方法中如何简单抛出异常(无需自定义异常)
解决矩阵加法行列不匹配时的异常抛出问题
问题原因
你之前尝试抛出Exception出现编译错误,是因为Exception属于受检异常,Java语法要求必须在方法签名上声明throws Exception,或者在代码中用try-catch捕获。但你不想额外处理这些,所以应该使用非受检异常(RuntimeException的子类),这类异常不需要显式声明或捕获。
最简实现方式
直接使用Java内置的IllegalArgumentException,它是专门用于参数不符合要求的场景,属于非受检异常,无需修改方法签名。修改后的代码如下:
public MyMatrix addMatrix(MyMatrix matB) { if (myR != matB.myR || myC != matB.myC) { throw new IllegalArgumentException("矩阵的行数或列数不匹配,无法执行加法运算"); } MyMatrix res = new MyMatrix("", myR, myC, 0.0); for (int i = 0; i < myR; i++) { for (int j = 0; j < myC; j++) { res.myElements[i][j] = myElements[i][j] + matB.myElements[i][j]; } } return res; }
说明
IllegalArgumentException是Java标准库提供的异常类,完全满足你的需求,不需要自定义异常。- 可以在异常构造方法中传入清晰的提示信息,方便调试和定位问题。
内容的提问来源于stack exchange,提问作者icyrla
相关产品推荐
相关产品推荐

