java异常使用

一、try-catch-finaly处理

//当场捕捉处理处理异常
public void testTryCatch(){
       try {
           logger.info("1/0={}",1/0);
       }catch (ArithmeticException  e){
           logger.info("捕捉异常{}",e.getMessage());
       }catch (Exception e){
           logger.info("捕捉异常{}",e.getMessage());
       }finally{
           logger.info("方法结束");
       }
    }
//
  static private void test(){
        UserExceptionTest e = new UserExceptionTest();
        e.testTryCatch();
    }

二、使用throw抛出异常,外层调用处理该异常

//自定义异常
public class UserException extends Exception{
    private String msg;
    private String location;
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }
}
//抛出异常
 public void testThrowsExp() throws UserException {
        int m = 0;
        if(m==0){
            UserException e=new UserException();
            e.setLocation(e.getClass().getName());
            e.setMsg("除数不能为0!");
            throw e;
        }else{
            logger.info("1/m={}",1/m);
        }
    }
//捕捉异常并处理
 static private void test1(){
        try{
            UserExceptionTest e = new UserExceptionTest();
            e.testThrowsExp();
        }catch (UserException e){
            logger.info("捕捉异常{}:{}",e.getMsg());
            logger.info("异常:{}",e.getLocation());
        }finally {
            logger.info("方法结束");
        }
    }

posted @ 2020-07-16 17:31  复一日  阅读(122)  评论(0编辑  收藏  举报