有效使用Java异常

  Java的异常机制是一大优点,可以快速定位错误。但在实际开发中,往往嫌麻烦,一概对这些Exception抓起然后printStackTrace(),也没有更多的应用。
  我们经常进行逻辑判断,例如传入的参数表示一个类型,我们会这样
public Cake makeCake(int type) {
  
  if (type == Cake.HELLO) {
    cake = a hello cake;
  } else if (type == cake.WORLD) {
    cake = a world cake;
  } else {
    // 假设程序只能做两种蛋糕,这里你会做什么,是这样吗?
    log.debug("cake type error");
    return null;
  }
  
  return cake;
}

  这里完全可以自己throw一个exception并且附上错误信息,远比打出日志然后返回一个null感觉舒畅。
  throw new IllegalArgumentException("cake type error");

  甚至可以自己定义异常,增加或重载一些方法。

  附图简单介绍一下异常类架构,所有的checked异常都是需要显示catch的,而unchecked则不需要,例如RuntimeException。 常见的异常

猜你喜欢

转载自lingceng.iteye.com/blog/1706144
今日推荐