黑马程序员-java异常处理

来源:互联网 发布:简单的php网页 编辑:程序博客网 时间:2024/05/01 14:08

---------------------- android培训java培训 、期待与您交流! ----------------------

 

1.为什么要处理异常

我们编写的程序在运行的时候总是会出现这样或那样的问题,如果我们不对这些异常进行处理,我们的程序就会崩溃,比如说我们在读一个文件的时候,有时候会找不到这个文件,再比如我们需要向磁盘中写文件,如果我们的磁盘满了,我们的程序就无法写入,这些异常是不可预料的,就是说这不是程序本身的问题,编译的时候可以通过,而是程序运行的时候出现的问题,这些问题是有可能存在的,虽然说情况不是很多,但是就是那往往万分之一的概率,就会使我们的程序崩溃,所以我们的程序必须对这些情况进行处理,这样才能保证我们程序的健壮性。

2.java的异常处理--try-catch语句

try

{

//可能发生异常的语句

}

catch(Exception e)

{

//对异常进行处理的语句

}

try语句用来捕捉可能发生的异常,在catch语句中对发生的异常进行处理。

e.getMessage()

输出异常信息

e.printStackTrace()

输出详细的异常信息

3.声明方法可能抛出的异常--Throws关键字

我们可以在一个方法后面加上Throws关键字来声明我们这个方法可能抛出的异常,这样在程序中调用这个方法的时候就必须对异常进行处理

我们在演示程序的时候如果不想对异常进行处理,我们可以通过Throws Exception声明异常,交由调用这个方法的程序处理,但这只限演示程序,实际开发中不要这么做。

4.抛出异常--throw关键字

我们可以通过throw关键字自己来抛出异常

5.对多种异常的处理--多个catch语句

有时候我们的try语句可能会抛出多种异常,我们可以用多个catch语句进行处理

如:

try

{

//可能发生异常的语句

}

catch(Exception1 e)

{

//对异常进行处理的语句

}

catch(Exception2 e)

{

//对异常进行处理的语句

}

根据发生异常的类型会从前到后进行匹配,然后进入相应的catch语句中执行异常处理代码

6.实现程序的跳转--try-catch语句的巧用

try

{

if(x==0)

      throw Exception1

else

     throw Exception2

}

catch(Exception1 e)

{

 //x==0时需要执行的代码

}

catch(Exception2 e)

{

 //x!=0时需要执行的代码

}

7.需要注意的问题

  • 不要对异常不做任何处理

try

{

//可能发生异常的程序

}

catch(Exception e)

{

 

}

不要为了省事,仅仅是套用了try-catch语句的格式,骗过编译器,而不对异常做任何的处理,这是没有任何意义的,这样当程序发生异常的时候,你也不容易发现异常。不容易发现问题,改进程序

  • 声明异常的方法重写的问题

如果一个方法声明了异常,对于子类中重写(覆盖)的方法,声明的异常可以是父类中的异常或者是异常的子类,并且必须是父类中异常的子集,不能声明新的异常。

 

 

---------------------- android培训java培训 、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

原创粉丝点击