package exception; import java.util.InputMismatchException; import java.util.Scanner; /** * 除法 * 用户输入两个整数,计算商 */ public class Devide { public static void main(String[]args){ int a,b,c;//定义变量 Scanner in=new Scanner(System.in);//实力话Scanner对象 System.out.print("请输入两个整数:");//用户提示 try { a=in.nextInt();//输入一个整数,存入变量a中 b=in.nextInt(); c=a/b; System.out.println("商为:"+c); } catch (InputMismatchException e) { //e.printStackTrace();//异常追踪 调试程序时显示追踪信息 System.out.println("你只能输入数字!"); } catch (ArithmeticException e){ // e.printStackTrace(); System.out.println("除数不能为0!"); } // finally { System.out.println("程序结束!");//finally可以省略,在catch之后则就表示finally语句 // } } }
package exception; import java.util.Scanner; public class Devide1 { public static void main(String[]args){ int a,b,c;//定义变量 Scanner in=new Scanner(System.in);//实力话Scanner对象 System.out.print("请输入两个数:");//用户提示 try { a=in.nextInt();//输入一个整数,存入变量a中 b=in.nextInt(); try{ c=a/b; System.out.println("商为:"+c); } catch (Exception e) { //e.printStackTrace();//异常追踪 调试程序时显示追踪信息 System.out.println("除数不能为0!"); } } catch (Exception e){ // e.printStackTrace(); System.out.println("你只能输入数字!"); } System.out.println("程序结束!");//finally可以省略,在catch之后则就表示finally语句 } }
package exception; import java.util.Scanner; public class Devide2 { public static void main(String[]args){ float a,b,c;//定义变量 Scanner in=new Scanner(System.in);//实力话Scanner对象 System.out.print("请输入两个数:");//用户提示 try { a=in.nextFloat();//输入一个整数,存入变量a中 b=in.nextFloat(); try{ c=a/b; if(String.valueOf(c).equals("Infinity")){ throw new ArithmeticException();//抛出异常 } System.out.println("商为:"+c); } catch (Exception e) { System.out.println("除数不能为0!"); } } catch (Exception e){ System.out.println("你只能输入数字!"); } System.out.println("程序结束!");//finally可以省略,在catch之后则就表示finally语句 }
package exception; public class Devide3 { private String name; private int age; public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getAge(){ return age; } //设置年龄 public void setAge(int age)throws AgeException{ if (age<0) throw new AgeException(); this.age=age; } public static void main(String[]args){ Devide3 s=new Devide3(); try{ s.setAge(-2); } catch (AgeException e) { // e.printStackTrace(); System.out.println(e.getMessage()); } } }
自定义异常 package exception; public class AgeException extends Exception { @Override public String getMessage() { return "年龄不能为负数"; } }