exception 异常捕获

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

转载于:https://my.oschina.net/u/3631458/blog/1531306

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值