/*
* 嵌套try/catch块 InputMismatchException 输入类型不匹配异常
ArithmeticException 除数为0异常
*/
import java.util.Scanner;import java.util.InputMismatchException;public class Test4 { public static void main(String [] args){ Scanner sc=new Scanner(System.in); try{ System.out.println("请输入第一个数字"); int first=sc.nextInt(); System.out.println("请输入第二个数字"); int second =sc.nextInt(); try{ int result=first/second; System.out.println(result); }catch(ArithmeticException e){ System.out.println(e.getMessage()); } //ArithmeticException //当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。 }catch(InputMismatchException e){ System.out.println("输入参数错误。。。。"); } }}
/*
* 逻辑错误异常处理异常
* throw:用于手工抛出异常独享,方法体中编写 Exception
*/
import java.util.Scanner;
public class Test6 {
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入年龄");
int age=sc.nextInt();
try{
if(age<0||age>100){
throw (new Exception("您输入的年龄不合法"));
}
}catch(Exception e){
System.out.println(e.getMessage());
}
System.out.println("程序结束。。。。。");
}
}
多次使用try{} catch() 获取异常
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test5 {
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
int first=0;
int second=0;
try{
System.out.println("请输入第一个数字");
first=sc.nextInt();
System.out.println("请输入第二个数字");
second=sc.nextInt();
}catch(InputMismatchException e){
System.out.println("参数错误。。。。。");
}
try{
int result=first/second;
System.out.println(result);
}catch(ArithmeticException e){
System.out.println(e.getMessage());
}
}
}