您的位置:首页 > 职场人生

黑马程序员--异常处理--2nd day

2015-06-18 21:49 260 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

异常就是程序在运行时出现的不正常情况。
异常的由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象。

在java中用类的形式对不正常情况进行了描述和封装对象。描述不正常的情况的类,就称为异常类。
1. 以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问题处理代码分离,提高阅读性。
2. 其实异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述。
3. 不同的问题用不同的类进行具体的描述。比如角标越界、空指针异常等等。
4. 问题很多,意味着描述的类也很多,将其共性进行向上抽取,形成了异常体系。

JDK中--------java.lang.Throwable:
Throwable:可抛出的。 
Error:错误,一般情况下,不编写针对性的代码进行处理,通常是jvm发生的,需要对程序进行修正。
Exception:异常,可以有针对性的处理方式

处理方式有两种:1、捕捉;2、抛出。
1、捕捉异常的方法:java有针对性的语句块进行处理。
try {
需要被检测的代码;
}
catch(异常类 变量名){
异常处理代码;
}
fianlly{
一定会执行的代码;
}

try catch finally 代码块组合特点:

(1)try catch finally

(2)try catch(多个)当没有资源需要释放时,可以不用定义finally。

(3)try finally 异常无法直接catch处理,但是资源必须关闭。

捕获异常Demo

class  Demo

{
public static void main(String[] args) //throws Exception
{
Demo d = new Demo();
try
{
int x = d.div(4,0);
System.out.println("x="+x);
}
catch (Exception e)
{
System.out.println(e.toString());
}
finally

{

System.out.println("over");

 }

}

}

2、抛出异常:如果让一个类成为异常类,必须要继承异常体系,因为只有成为异常体系的子类才有资格具备可抛性
 抛出异常的两个关键字:throw和throws,两个关键字的区别

(1)throws用于标识函数暴露出的异常类,并且可以抛出多个,用逗号分隔。

(2)throw用于抛出异常对象。

(3) thorws用在函数上,后面跟异常类名。

(4)throw用在函数内,后面跟异常对象。


抛出异常Demo

class Demo{

       public static int method(int[] arr, int index) throws NullPointerException,FuShuIndexException{

             if(arr == null)

                   throw new NullPointerException("没有任何数组实体");

             if(index < 0){

                   throw new FuShuIndexException("数组的角标是负数啦!" );

            }

             return arr[index];

      }

}

































内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: