异常

*
 * 程序中的异常 处理:


 *         程序中异常 分为:
 *             1.严重问题  2.非严重问题
 *     同过:Java中捕获代码块处理程序中的 异常;
 *     
 *     异常:超类 (Exception)


 *     捕获 操作

方式一:

 *         try {
            //可能出现异常的代码块,运行时异常
        } catch (Exception e) {
            //对异常信息的处理.....
        }finally {
            //代码块执行完成后 最终执行的代码;
        }
        
        方式二:throws:将异常 通过方法 抛出(方法后面)
        
        方式三:在方法 体中 抛出异常:throw
        
 *    归类:
 *        Throwable
 *    
 *            Error
 *    
 *            Exception 
 *    
 *    常见异常类型:
 *        FileNotFoundException
 *        IndexOutOfBoundsException
 *        ClassNotFoundException
 *        NullPointerException
 *        ArithmeticException  整数中 除数为零异常
 *        ........
 *    
 *    异常信息获取:
 *        e.toString();
 *      e.getMessage();
 *        e.printStackTrace();
 *    
 *    
 *    可能出现 异常的方法,一旦出现运行时异常,后续代码不在执行,其他方法 重新调用 该方法或者
 *    代码块,运行操作不受影响;
 *    
 *  

 *   自定义 异常操作:


public class Demo_01 {
    //函数入口
    public static void main(String[] args) {
        //调用 div 除法,创建对象 调用方法
        Demo_01 de = new Demo_01();
        try {
            de.div(15, 2);
            
            de.div(15, 0);
            
            de.div(0, 15);
        } catch (Exception e) {
            System.out.println("代码块出现异常:"+e.toString());
            System.out.println("代码块出现异常:"+e.getMessage());
            e.printStackTrace();
            
        }
    }
    
    //通过方法 将异常 抛出
    /*public void div(double db1,double db2){
        double divValue = db1/db2;
        System.out.println(db1+"/"+db2+"="+divValue);
    }*/
    
    public void div(int db1,int db2) throws ArithmeticException{
        //捕获 可能出现 异常的代码 
        double divValue = db1/db2;
        System.out.println(db1+"/"+db2+"="+divValue);
    }
    
    //通过方法 将异常 抛出
    /*public void div(int db1,int db2){
            //捕获 可能出现 异常的代码 
            try {
                double divValue = db1/db2;
                System.out.println(db1+"/"+db2+"="+divValue);
            } catch (ArithmeticException e) {
                System.out.println("代码块出现异常:"+e.toString());
                System.out.println("代码块出现异常:"+e.getMessage());
                e.printStackTrace();
            }
            
        }*/
}

 

/*
 * 自定义异常 类
 */
class MyException extends Exception{
	//异常方法 构造方法
	public MyException(){
		
	}
	public MyException(String excepMessage){
		super(excepMessage);
	}
}

/**
 * 定义 类 在类中写 普通方法 使用自定义 异常 进行处理
 */
class MyOp{
	
	public int myDvi(int num1,int num2) throws MyException{
		if(num2==0){
			//抛出异常信息
			throw new MyException("除数为零异常....");
		}
		return num1/num2;
	}
	
}



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值