Java异常体系及注意事项

原创 2015年07月09日 21:21:30

前言

异常是Java语言一块重要分支

体系:

Throwable
    Error:错误,例如:jvm蹦溃
    Exception:
        CheckException:
            需要try{}catch{}
            常见的检查异常:
            IOException
            FileNotFoundException
            反射中:
                SecurityException NoSouchException
                IIIegalAccessException InvocationTargetException
        UnCheckException:(运行时异常)
            不需要try catch
            常见的运行时异常:
            IIIegalArgumentException 
            IIIegalStateException,例如:servlet在sendredirct()可能出现
            NullPointerException
            IndexOutOfBoundException

异常的合理使用

1、在finally快种做资源性对象的回收
2、不要在一异常finally快种定义返回值,因为finally代码块是最终执行块,会覆盖其他返回值
3、覆写Exception的filInStackTrace方法能提高异常性能,因为filInStatckTrace方法,是带锁的并且需要填充线程异常栈信息。而我们一般不需要,如果复写据说会提高10倍性能
public class MyException extends Exception {
public Throwable fillInStackTrace() {
return this;
}
}

4、业务上的错误使用异常深入理解OOP
以用户登录案例,若功能变复杂,通过抛出业务异常类来处理错误信息,可读性好,规范
try{
userManager.login(account,passowrd,identify);
}catch(AccountException e){
//账号出错
}catch(PasswordException e){
//密码出错
}catch(IdentifyException e){
//验证码错误
}catch(AccountDisableException e){
//账号被禁用
} }catch(AccountLoginingException e){
//账号正在登录中
}

5、在捕获异常的过程中 应从小到大进行
try{
}catch(RuntimeException e){
}catch(BusinessException e){//BusinessException extends Exception
}catch(Exception e){

}

一步一步学android之控件篇——ScrollView

一个手机的屏幕大小是有限的,那么我要显示的东西显示不下怎么办?这就会使用到ScrollView来进行滚动显示,他的定义如下: 可以看到ScrollView是继承于FrameLayout的,所以Sc...
  • zenglinkai
  • zenglinkai
  • 2013年08月30日 11:28
  • 3935

升级到tomcat7.0碰到的问题

今天把tomcat从6.0.18升级到7.0.25,发现了两个问题 问题1 java.lang.ClassNotFoundException: org.apache.catalina.mbeans...
  • sunnydogzhou
  • sunnydogzhou
  • 2012年02月17日 14:05
  • 18717

java.lang.IllegalArgumentException: Illegal character in query at index

今天进行app测试的时候,遇到了这个问题。ca,之前都没有注意,就是按照提供的接口堆起来,然后请求数据结果!今天测试的时候使用汉字+字母进行拼接作为信息发送的时候,突然报错: java.lang.Il...
  • u012827205
  • u012827205
  • 2014年12月10日 14:33
  • 5973

Caused by: java.lang.IllegalArgumentException: bad base-64

今天做项目,用到android.util.Base64这个类来把 byte[] 数组转换为 base64-encode 的String类型 static String ...
  • WOSHICAIXIANFENG
  • WOSHICAIXIANFENG
  • 2012年01月06日 15:27
  • 11567

java异常体系及注意事项

java异常体系:   ()Exception与Error 答:java.lang.Error与java.lang.Exception都继承自java.lang.Throwable. Java异常是...
  • gaibian_one
  • gaibian_one
  • 2017年09月13日 08:36
  • 76

Java中的异常体系

Java中会有异常的概念,本文简要总结下自己的个人见解        1:什么是异常:程序在运行过程中出现的不正常的情况;         2:异常的由来:问题也是现实生活中一个具体的事物,也可以...
  • June_email
  • June_email
  • 2016年01月11日 20:11
  • 421

Java异常体系和概念

Java异常处理结构图 java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。 1.异常的分类    E...
  • dzy21
  • dzy21
  • 2016年07月05日 07:24
  • 2428

java异常体系以及异常的捕获和处理和图解详解

java 异常是程序运行过程中出现的错误。Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中定义了许多异常类,分为两大类,错误...
  • dianzijinglin
  • dianzijinglin
  • 2016年08月18日 15:55
  • 843

java进行异常处理时的注意事项

java进行异常处理时的注意事项 (1)try、catch和finally这三个关键字不能单独使用,否则编译出错。 (2)try语句块后既可以只使用catch语句块,也可以只使用final...
  • qq_33406883
  • qq_33406883
  • 2017年01月03日 22:02
  • 416

java基础复习之《异常体系》

Throwable      |-Error      |-Exception           |-RuntimeException   自定义异常   package com.jingfeng....
  • aaygj
  • aaygj
  • 2015年03月26日 21:49
  • 957
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java异常体系及注意事项
举报原因:
原因补充:

(最多只允许输入30个字)