【发布时间】:2015-08-08 23:28:54
【问题描述】:
问题: 编写一个名为 addTwoPositive 的方法,它接受两个 int 参数,如果其中一个值不是正数,则抛出一个 ArithmeticException,传递字符串“已发送非正整数!”到异常的构造函数。如果两个值都是正数,则返回它们的总和。
我对如何通过ArithmeticException 构造函数处理此异常感到困惑。这是我的代码:
package IfnotPos;
public class IfNotPositive extends ArithmeticException{
public static void main(String[] args) throws ArithmeticException{
IfNotPositive pos = new IfNotPositive();
System.out.println(pos.addTwoPositive(-3,2));
}
public int addTwoPositive(int plus, int plus1) throws ArithmeticException{
if(plus < 0 || plus1 < 0){
throw new ArithmeticException("Non-positive integers sent!");
}
else{
return plus + plus1;
}
}
public ArithmeticException(String string) {
return string;
}
}
我收到“方法的返回类型丢失”的错误,如果我将其更改为字符串或其他任何内容,它显然将不再是构造函数。任何处理此异常的帮助将不胜感激。
【问题讨论】:
-
谢谢大家。所以现在我不明白他们所说的“传递字符串‘发送的非正整数!’是什么意思。到异常的构造函数。”
标签: java exception constructor throw