51,411
社区成员
发帖
与我相关
我的任务
分享
public class Counter {
@Test
public void counterException(){
try {
Scanner division = new Scanner(System.in);
System.out.println("请输入一个正数:");
Integer i = division.nextInt();
System.out.println("请输入一个正数:");
Integer j = division.nextInt();
int flag = i / j;
if (!(i instanceof Integer) || !(j instanceof Integer)) {
throw new NumberFormatException("类型不一致");
}
if (flag == 0) {
throw new ArithmeticException();
}
if (i < 0 || j < 0) {
throw new customException("输入的值为负数");
}
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (ArithmeticException e) {
e.printStackTrace();
} catch (customException e) {
e.printStackTrace();
}
}
}请输入一个正数:
a
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at Counter.counterException(Counter.java:16)
at Counter.main(Counter.java:7)请输入一个正数:
1
请输入一个正数:
-1
customException: 输入的值为负数
at Counter.counterException(Counter.java:27)
at Counter.main(Counter.java:7)