异常处理小节-创新互联

*编写应用程序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) {

        try {
            int i=  Integer.parseInt(args[0]);
            int j=  Integer.parseInt(args[1]);
            int result= 0;
            result = ecm(i,j);
            System.out.println(result);
        } catch (NumberFormatException e){
            System.out.println("数据类型不一致");
        }
        catch (ArrayIndexOutOfBoundsException e){
            System.out.println("缺少命令行参数");
        }
        catch (ArithmeticException e){
            System.out.println("除数为零");
        } catch (Ecmp ecmp) {
            ecmp.printStackTrace();
        }

    }
    public  static int ecm(int i,int j)throws Ecmp{
        if(i<0||j<0){
            throw new Ecmp("分母或分子为负数了");
        }
        return j/i;
    }

}

/*2
* 如何自定义异常类?
* 1. 继承于现的异常结构:RuntimeException 、Exception
* 2. 提供全局常量:serialVersionUID
* 3. 提供重载的构造器 

成都地区优秀IDC服务器托管提供商(创新互联公司).为客户提供专业的电信机房托管,四川各地服务器托管,电信机房托管、多线服务器托管.托管咨询专线:028-86922220
package com.project.textlastt;
//自定义异常类

public class Ecmp extends Exception{
    static final long serialVersionUID = -7034897190745766939L;
  public Ecmp(){}
   public Ecmp(String masg){
      super(masg);
    }
}

throw 表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。
throws 属于异常处理的一种方式,声明在方法的声明处。 

java异常处理的抓抛模型 

过程一:"抛":程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。
*           并将此对象抛出。
*           一旦抛出对象以后,其后的代码就不再执行。
*         
*         关于异常对象的产生:① 系统自动生成的异常对象
*                          ② 手动的生成一个异常对象,并抛出(throw)

过程二:"抓":可以理解为异常的处理方式:① try-catch-finally  ② throws

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


名称栏目:异常处理小节-创新互联
文章来源:http://pwwzsj.com/article/dpigde.html