07_异常处理————随堂练习

1、判断程序的输出结果

public class ReturnExceptionDemo { 
    static void methodA() { 
        try { 
            System.out.println("进入方法A"); 
            throw new RuntimeException("制造异常"); 
        }
        finally { 
            System.out.println("用A方法的finally"); 
        } 
    } 
    static void methodB() { 
        try { 
            System.out.println("进入方法B"); 
            return; 
        } finally { 
            System.out.println("调用B方法的finally"); 
        } 
    }
    public static void main(String[] args) { 
        try { 
            methodA(); 
        } catch (Exception e) { 
            System.out.println(e.getMessage()); 
        } 
        methodB(); 
    } 
}

在这里插入图片描述
2、编写应用程序EcmDef.java,接收命令行的两个参数,要求不能输入负数,计算两数相除。

要求:
数据类型不一致 (NumberFormatException)
缺少命令行参数 (ArrayIndexOutOfBoundsException、
除0(ArithmeticException)及输入负数(EcDef 自定义的异常)进行异常处理。

提示:
(1)在主类(EcmDef)中定义异常方法(ecm)完成两数相除功能。
(2)在main()方法中使用异常处理语句进行异常处理。
(3)在程序中,自定义对应输入负数的异常类(EcDef)。
(4)运行时接受参数 java EcmDef 20 10 //args[0]=“20” args[1]=“10”
(5)Interger类的static方法parseInt(String s)将s转 换成对应的int值。
如:int a=Interger.parseInt(“314”); //a=314;

主类:

public class EcmDef {

	public static void main(String[] args) {
		String arg0 = args[0];
		String arg1 = args[1];
		int x =Integer.parseInt(arg0);
		int y =Integer.parseInt(arg1);
		
		ecm(x, y);
	}
	//ecm方法完成两数相除
	public static void ecm(int a ,int b) {
		//判断传入的两个参数是否有负数 有负数抛出自定义异常 无负数执行操作语句
		if(a < 0 || b < 0) {
			throw new EcDef("操作数不能为负");
		}else {
		int c = a/b;
		System.out.println(c);
		}
	}
}

自定义异常类:

public class EcDef extends RuntimeException{
	//自定义异常
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	//无参构造
	public EcDef() {
		super();
	}
	//带参构造
	public EcDef(String s) {
		super(s);
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值