统一管理异常

面试是被问到对于以前的项目中有哪些需要改进

我有感而发,因为做了一段时间维护,感觉大家的异常各自抛,有的抛了不处理问题,且没有统一的格式、内容,看日志也是一头雾水,有必要统一起来,由业务人员统一配置异常

 

我使用Properties来统一配置异常,修改Properties文件就可以了,当然在接口中定义异常也是不错的方法。

当然如果是web开发,读取数据用的类当然有更好地选择(javax.servlet.ServletContext的getResourceAsStream)

我在src目录下建立MyException.properties文件代码:

DimUnionValid=\u5728\u5E72\u67D0\u4E8B\u7684\u65F6\u5019\u56E0\u4E3A\u83AB\u539F\u56E0\uFF0C\u9020\u6210\u4E00\u573A\uFF0C\u7B49\u7EA7err\uFF0C\u5FC5\u987B\u6392\u67E5\uFF0Ccoder\uFF1A\u4E01\u6B63\u9F99

定义了一个异常,级别err,必须排查,责任人dzl,

 

读取properties文件的类PropertiesUtils.java: 

public class PropertiesUtils {

	static InputStream in = ClassLoader
			.getSystemResourceAsStream("MyException.properties");
	static Properties p = new Properties();
	static {
		try {
			p.load(in);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static String getPropertyByName(String key) {
		String value = p.getProperty(key);
		// try {
		// value = new String(value.getBytes("ISO8859-1"), "UTF-8");
		// } catch (UnsupportedEncodingException e) {
		// e.printStackTrace();
		// }
		return value;
	}

}

返回值MyException.java:

public class MyException extends Exception{
	
	public MyException(String message)
	{
		super(message);
	}
 
}


好了,可以抛异常了test.java:

public class test {
	public static void main(String[] args) {
		 try {
			 throw new MyException(PropertiesUtils.getPropertyByName("DimUnionValid"));
		} catch (MyException e) {
			e.printStackTrace();
		}
	}
}

这个抛了一个DimUnionValid异常,是不是看起来简单清楚多了?
当然关键是处理异常,我们有些同事开发的时候看到异常也无动于衷,认为不影响效果,这样做是不对的。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值