当前位置: 移动技术网 > IT编程>开发语言>Java > java异常处理机制示例(java抛出异常、捕获、断言)

java异常处理机制示例(java抛出异常、捕获、断言)

2019年07月22日  | 移动技术网IT编程  | 我要评论

这是一个介绍基本异常处理的小例子,包括抛出,捕获,断言,日志。

java异常处理通过5个关键字try、catch、throw、throws、finally进行管理。基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,你的代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在java运行时自动抛出。你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象。

复制代码 代码如下:

package com.hongyuan.test;

import java.io.ioexception;
import java.util.logging.level;
import java.util.logging.logger;

public class exceptionhandletest {

 static{
  //开启断言,此后由系统类加载器加载的类将启用断言。
  classloader.getsystemclassloader().setdefaultassertionstatus(true);
 }

 public static void main(string[] args) {
  /*
   * 抛出,捕获
   */
  try {
   trycatchtest.run(10, -1);
  } catch (ioexception e) {
   e.printstacktrace();
  }
  system.out.println("====================================================");

  //日志
  logertest.run();

  system.out.println("====================================================");
  //断言
  asserttest.div(3,0);

 }

}

/*
 * 断言
 */
class asserttest {

 public static double div(int b,int a){

  assert a!=0:"你这么用,你小学老师知道吗?";

  return (double)b/a;
 }
}

/*
 * 日志
 */
class logertest {

 private static logger logger=null;

 static{
  //获取日志对象并定义日志级别
  logger=logger.getlogger(logertest.class.getname());
  logger.setlevel(level.all);
 }

 public static void run(){
  //进入方法
  logger.entering(logertest.class.getname(), "run");
  //普通信息
  logger.info("又来找我麻烦,这笔账我记下了!!!");
  //警告
  logger.warning("太累了,这活没法干了!!!");
  //严重
  logger.log(level.severe,"老子不干了!!! ^o^");
  //退出方法
  logger.exiting(logertest.class.getname(), "run");
 }
}

/*
 * 捕获,抛出
 */
class trycatchtest {

 public static void run(int x,int y) throws ioexception {

  try{//必须

   if(x<0||y<0){
    throw new illegalargumentexception("无语了,这让我怎么办啊!!!");
   }

  }catch(exception e){//可选

   ioexception e1=new ioexception("你自己看着办吧!");
   e1.initcause(e.getcause());

   throw e1;
  }finally{//可选

   system.out.println("最后他们过上了幸福的生活!!!!(完)");
  }
 }
}



如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网