1.异常类之间的关系图

2.异常转译:指的就是吧捕获到的原始异常,将其转换为一个新的不同类型的异常,然后再抛出该新异常的过程。
比如:public void uploadImageFile(String imagePath) {
try {/上传图片文件}
catch(IOException e) {
//吧原始异常信息记录到日记中(便于排错)
throw new 异常构造方法();
}
}
3.异常链:就是把原始的异常的类包装成新的异常类
比如:自定义了一个新的异常类 public class UploadExceptio extends BaseException {
public UploadExceptio (Throwable tt ){
}
}
.......
try {/上传图片文件}
catch(IOException e) {
//吧原始异常信息记录到日记中(便于排错)
throw new UploadExceptio (e);s
}
4.多样化异常:(java中每次只能抛出一个异常对象,所以这种异常需要自定义。)
比如:表单验证--------
public class BaseException extends Exception {
protected Throwable cause = null;
private List<Throwable> exceptions = new ArrayList<Throwable>();
public BaseException(String msg, Throwable cause) {
super(msg);
this.cause = cause;
}
public List getException() {
return exceptions;
}
public void addException(BaseException ex) {
exceptions.add(ex);
}
public void printStackTrace(PrintWriter writer) {
super.printStackTrace(writer);
if(getCause() != null) {
getCause().printStackTrace(writer);
}
writer.flush();
}
public static void main(String [] args) {
BaseException be = new BaseException();
try {
checkField1();
}catch(Field1Exception e) {
be.addException(e);
}
try {
checkField2();
}catch(Field2Exception e) {
be.addException(e);
}
if(be.getException().size()>0) throw be;
}
}
本文深入探讨了异常类之间的关系、异常转译、异常链和多样化异常的概念及应用,通过实例展示了如何在Java中进行异常处理,并介绍了自定义异常类的使用方法。
1104

被折叠的 条评论
为什么被折叠?



