用try catch 处理
import java.util.*;
public class CalculatorTryCatch
{
public static void main(String[] args)
{
while (true)
{
try
{//监听异常
Scanner in = new Scanner(System.in);
System.out.println("请输入两个整数,以计算除法");
int a = in.nextInt();
int b = in.nextInt();
int c = a / b;
in.close();
System.out.println("你输入的\n第一个数是" + a + "\n第二个数是" + b + "\n相除结果为" + c);
break;
}
catch (Exception 异常)
{//捕获并处理异常
System.out.println("你输入的不是整数,或者输入分母为0,请重新输入");
continue;
}
}
}
}
使用throws对方法抛出异常,抛到try catch处理
import java.util.*;
public class CalculatorThrows
{
public static void main(String[] args)
{
while (true)
{
try
{//监听异常
calculatorMathod();
break;
}
catch (Exception 异常)
{//捕获并处理异常
System.out.println("你输入的不是整数,或者输入分母为0,请重新输入");
continue;
}
}
}
static void calculatorMathod()throws Exception
/*往上抛出异常,抛给调用者*/ {
Scanner in = new Scanner(System.in);
System.out.println("请输入两个整数,以计算除法");
int a = in.nextInt();
int b = in.nextInt();
int c = a / b;
in.close();
System.out.println("你输入的\n第一个数是" + a + "\n第二个数是" + b + "\n相除结果为" + c);
}
}
不处理异常,一直往上抛
import java.util.*;
public class CalculatorThrowsToSuper
{
public static void main(String[] args) throws Exception/*继续往上抛出抛到虚拟机*/
{
calculatorMathod();
}
static void calculatorMathod()throws Exception
/*往上抛出异常,抛给调用者*/ {
Scanner in = new Scanner(System.in);
System.out.println("请输入两个整数,以计算除法");
int a = in.nextInt();
int b = in.nextInt();
int c = a / b;
in.close();
System.out.println("你输入的\n第一个数是" + a + "\n第二个数是" + b + "\n相除结果为" + c);
}
}