码迷,mamicode.com
首页 > 编程语言 > 详细

Java-异常

时间:2015-07-12 11:22:57      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:java   异常   exception   error   

Java-异常
一 异常
异常:就是程序在运行时出现的不正常情况

异常的由来:就是现实生活中的一个具体的事务,可以通过Java类的形式来描述,并封装成对象,就是java对不正常情况进行描述后的对象体现

二 问题的分类
严重的问题:通过Error类描述
非严重的问题:通过Exception描述,并用exception特有的方法来处理

但是无论是Error还是exception都具有一些共性的内容都继承自

Throwable
Throwable
    |--Error
    |--Exception

三 异常的处理

try
{

}
catch(异常类1 变量e)
{
    //打印异常的信息
    System.out.println(e.getMessage());
    //打印异常的名称:异常信息
    System.out(e.toString());
    //异常名称:异常信息,异常出现的位置
    //其实jvm虚拟机的默认异常处理机制没及时在调用printStackTrace()方法,可以打印异常的堆栈的跟踪信息
    e.printStackTrace();   
}
//多个catch可以进行多异常处理,声明异常的时候,建议声明为具体的异常
catch(异常类2 变量e)
{
    //打印异常的信息
    System.out.println(e.getMessage());
    //打印异常的名称:异常信息
    System.out(e.toString());
    //异常名称:异常信息,异常出现的位置
    //其实jvm虚拟机的默认异常处理机制没及时在调用printStackTrace()方法,可以打印异常的堆栈的跟踪信息
    e.printStackTrace();   
}
finally
{

}

三 在函数上声明throws

int div(int a,int b) throws Exception//在功能上通过throws的关键字可以声明有可能会出现问题
{
    return a/b;
}

便于提高安全性,让调用处进行处理,不处理的话编译失败

四.自定义异常
如何自定义异常:
因为父类已经把异常信息的操作都完成了
所以子类只要在构造的时候,将异常信息传递给父类通过super语句,就可以
直接getMessage方法获取自定义的异常信息了

注意:自定义异常的时候,如果该异常的发生,无法在继续进行运算
就自定义类继承只RuntimeException

异常的分类:
1,编译时被检测的异常
2,编译时不被检测的异常(RuntimeException,及其子类)

自定义格式:
必须是继承Exception类
原因:
异常体系有一个特点,因为异常和异常对象都被抛出,
他们都具备可抛出性,这个可抛出性是Throwable这个体系中独有的特点
只有这个体系中的类和对象可以被throw和throws操作

class TestException extends Exception
{
    private int mValues;
    TestException()
    {
        //使用父类构造函数
        super();
     }
    TestException (String p_msg, int p_values)
    {
       // 使用父类构造函数传入信息
        super(p_msg);
        this.mValues = p_values;
    }

}

class Demo
{

int div(int a,int b) throws Exception//在功能上通过throws的关键字可以声明有可能会出现问题
{
    if(b < 0)
    {
        //手动通过throws抛出自定义的异常
        throw new TestException("出现除数是负数的情况了");
     }
    return a/b;
}

}

五 throws和throw的区别
throws使用在函数上,后面跟的异常类可以有多个,用逗号隔开

throw使用在函数内部,后面跟的是异常类的对象

六 RuntimeException
Exception中有一个特殊的子类异常RuntimeException运行时异常

如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过

如果在函数上声明了该异常调用者可以不用进行处理

版权声明:欢迎交流指正文章的错误,必定虚心接受,QQ872785786

Java-异常

标签:java   异常   exception   error   

原文地址:http://blog.csdn.net/qq_22075977/article/details/46848443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!