您的位置:首页 > 编程语言 > Java开发

java异常处理总结

2016-01-02 19:52 471 查看
1、异常:就是程序在运行时出现的不正常的情况。
异常的由来:问题也是现实生活中的一个具体的事物,亦可以通过Java的类的形式描述,并封装成对象。其实就是Java对不正常情况描述后的对象体现。
对问题的划分:两种:一种是严重的问题,一种非严重的问题。
1)对于严重的,Java通过Error类进行描述。对于Error一般不编写针对性的代码对其进行处理。
2)对于非严重的,Java通过Exception类进行描述。对于Exception可以使用针对性的处理方式进行处理。
注意:无论Error或者Exception都具有一些共性内容。比如:不正常情况的内容,引发原因等。
  Throwable:Error,Exception。
2、当在函数内部出现了throw抛出异常对象,1)那么就必须要给对应的处理动作,2)要么在内部trycatch处理,要么在函数上声明让调用者处理。一般情况下,函数内出现异常,函数上需要声明。

如何定义异常信息:
int div(int a ,int b) throws FuShuException
       {    
              if (b<0)
                     thrownew FuShuException();//
              returna/b;
       }
}
因为父类中已经把异常信息的操作都完成了。所以子类只要在构造时,将异常信息传递给父类通过super语句。那就可以直接通过getMessage获取自定义的异常信息。
自定义异常必须是自定义类继承Exception。
继承Exception原因:异常体系有一个特点,因为异常和异常对象都被抛出。他们都具备可抛性,这个可抛性是Throwable这个体系中特有特点。
只有这个体系中的类和对象才可以被throw和throws操作。
1、Exception中有一个特殊的子类异常RuntimeException(其有很多子类)运行时异常。
1)如果在函数内容抛出异常,函数上可以不用声明,编译一样通过。
2)如果在函数上声明了该异常。调用者可以不用进行处理。编译一
样通过。(ArithmeticException;)
例如:
int div(inta, int b){
if(b<0)
    throw new ArithmeticException(“被除零了”);
teturn  a/b;
}
3、之所以不用在函数声明,是因为不需要烫调用者处理。当该异常发生,希望程序停止,因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。
例子:
  Class   person
{
   Publicvoid checkName(String name)
{
    //If(name.equals(“lisi”))//NullPointerException(空指针异常)
If(“lisi”.equals(name))//if(neme!=null&&name.equals(“lisi”)) 这样就不会错。
System.out.println(“yes”);
Else
 System.out.println(“no”);
}}
Main(){
  Personp=new person();
p.checkName(null);}
4、自定义异常时:如果该异常的发生,无法再继续进行运算,就让自定义异常继承RuntimeException(非常特殊,会引发程序停止).
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: