Java系统中异常封装处理
2016-08-10 17:03
423 查看
异常处理
自定义异常基础类
package com.cloud.exception; /** * 构建一个基础的异常类 */ public class DefineException extends RuntimeException{ //VersionUID private static final long serialVersionUID = 3042686055658047285L; //错误位置 protected String positionName; //错误标签 protected String errorLabel; //错误信息 protected String message = ""; public String getMessage(){ return message; } //封装属性 public void setNameAndMessage(String errorLabel,String message){ this.errorLabel = errorLabel; this.message = message; } public void setPositionName(String positionName) { this.positionName = positionName; } public void setErrorLabel(String errorLabel) { this.errorLabel = errorLabel; } public void setMessage(String message) { this.message = message; } public String getErrorLabel(){ return this.errorLabel; } public String getPositionName(){ return this.positionName; } //参照Throwable源码的几个构造方法 public DefineException(){ super(); } public DefineException(Throwable throwable){ super(throwable); } public DefineException(String errorLabel){ super(errorLabel); this.errorLabel = errorLabel; this.message = errorLabel; } public DefineException(String positionName,String errorLabel){ super(errorLabel); this.errorLabel = errorLabel; this.positionName = positionName; this.message = errorLabel; } public DefineException(String positionName,Throwable throwable){ super(throwable); this.positionName = positionName; } public DefineException(String positionName,String errorName,Throwable throwable){ super(throwable); this.errorLabel = errorName; this.positionName = positionName; this.message = errorName; } }
扩展异常类
package com.cloud.exception; /** * 扩展一个自己使用的异常类 */ public class MyException extends DefineException{ private static final long serialVersionUID = -3042686055658047285L; public MyException(){} public MyException(Throwable throwable){ super(throwable); } public MyException(String positionName,String errorLabel){ super(positionName, errorLabel); } public MyException(String errorLabel){ super(errorLabel); } public MyException(String positionName,Throwable throwable){ super(positionName, throwable); } public MyException(String positionName,String errorLabel,Throwable throwable){ super(positionName, errorLabel, throwable); } }
异常处理原则
package com.cloud.Test; import com.cloud.exception.MyException; /** * 异常处理原则: * 1.如果不能处理异常,不要捕获该异常。 * 2.如果要捕获,应在离异常源近的地方捕获它。 * 3.不要捕获的异常,但是什么也不处理。 */ public class Test4 { public static void main(String[] args) { MyExe mx = new MyExe(); try { /*这里发生异常,则直接离开try代码进入catch*/ //int i = 1/0; /*这个方法执行扔出的异常就不会被捕获*/ mx.getI(); }catch(MyException mp){ String info = mp.getMessage(); System.out.println("捕获自定义异常"+info); } catch (Exception e) { e.printStackTrace(); System.out.println("捕获Exception异常"); } } } class MyExe{ public void getI(){ MyException me = new MyException(); try { int te = 2/0; } catch (MyException e) { me.setMessage("除数不能为0!"); throw me; }catch (Exception e) { System.out.println("Exception异常"); e.printStackTrace(); } } }
相关文章推荐
- java系统学习(十二) --------异常与处理及内存管理
- 慕课java第三季-异常与异常处理:借书系统
- java系统学习(十二) --------异常与处理及内存管理
- Java异常处理的基本封装
- Java系统中时间封装处理
- 系统性能调优(6)----Java异常处理性能优化
- java应用中,调用第三方api如何处理异常(系统异常、操作异常等等)
- 系统性能调优(6)----Java异常处理性能优化
- Java工程项目开发中异常处理的方法及系统
- java异常处理
- JAVA一般异常处理
- Java异常处理的陋习展播
- Java异常处理之陋习展播
- 关于六种Java异常处理程序的陋习
- Java异常处理之陋习展播
- Java中的异常处理
- Thinking in Java第三版读书笔记-第九章:异常带来处理错误
- Java异常处理之陋习展播
- java六种异常处理的陋习
- java异常处理