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

本文深入探讨了Java中的异常处理机制,包括异常的概念、异常类的体系结构、异常的捕捉与抛出方法等核心内容。文章详细解释了如何使用try-catch-finally语句块来处理异常,并介绍了throw和throws关键字的区别。

------- <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];

      }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值