java中输入负数,怎样抛出异常?

public static void area(){
Scanner s = new Scanner(System.in);
final float PI = (float) 3.1415926;
float area;
int r = 0;
System.out.println("请输入半径:");
while(r <= 0){
try{
TestException(r = s.nextInt());
area = PI * r * r;
System.out.println("圆的面积为:" + area);
}
catch (Exception ex) {
System.out.print("输入错误,请再次输入:\n");
}
}
}

public static void TestException(int i) throws Exception{
if(i <= 0){
throw new Exception("小于等于零");
}
}

TestException方法是什么意思?

第1个回答  2020-05-07
TestException就是一个方法,判断i<0,抛出异常。异常不捕获,往上抛出。在上层捕获。
第2个回答  2020-05-07
TestException方法是用来判断输入的数字是否为负数,为负数时抛出异常。为正数时不做操作。
area()方法的执行顺序为r默认为0,用户输入半径后,r的值等于用户输入的值。在此处调用了TestException()方法,传入用户输入的值判断是否为负数。程序进入TestException()方法开始执行,如果为正数,执行完TestException()方法。然后执行计算面积的那一行代码。
如果为负数,TestException()方法会抛出异常。因为try语句里出现异常,所以程序开始执行catch语句里的程序,则会打印输入错误的信息。
抛异常使用的语句是 throw new 异常的类型。Exception为全局异常。还有很多继承于它的异常类。
解决异常的方式是catch,如果没有用catch去抓取异常,则程序出现异常时会直接终止。抓取异常之后,我们可以对异常进行其他的处理。本回答被网友采纳
相似回答