有效使用Java错误
有效使用Java异常
Java的异常机制是一大优点,可以快速定位错误。但在实际开发中,往往嫌麻烦,一概对这些Exception抓起然后printStackTrace(),也没有更多的应用。
我们经常进行逻辑判断,例如传入的参数表示一个类型,我们会这样
这里完全可以自己throw一个exception并且附上错误信息,远比打出日志然后返回一个null感觉舒畅。
甚至可以自己定义异常,增加或重载一些方法。
附图简单介绍一下异常类架构,所有的checked异常都是需要显示catch的,而unchecked则不需要,例如RuntimeException。常见的异常
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。常见的异常