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 "年龄不能为负数";
}
}