黑马程序员技术交流社区

标题: JAVA语言如何进行异常处理?? [打印本页]

作者: wsc1988126    时间: 2012-10-23 19:55
标题: JAVA语言如何进行异常处理??
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
作者: 于连林    时间: 2012-10-23 20:00
Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。
用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。
throw语句用来明确地抛出一个"异常"。
throws用来标明一个成员函数可能抛出的各种"异常"。
Finally为确保一段代码不管发生什么"异常"都被执行一段代码。
可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。

作者: 黄邦荣    时间: 2012-10-23 20:37
JAVA语言如何进行异常处理:
1.抛出
  2.捕获  就是我们在出现问题的地方进行处理.

关键字:
throws:应用在方法上,代表的是当前方法抛出一个这样类型的异常  
            
throw:应用在方法里,它的作用是抛出一个异常对象,这个对象jvm捕获,如果你在调用这个方法时,
     对其进行了捕获,那么jvm就将这个对象传递给catch后面的异常类引用.

try:检测代码

catch:当jvm捕获到异常时,如果我们在代码中进行了catch操作,那么jvm就
               将封装好的这个异常对象赋值给 catch()括号中定义的异常对象,
               并且,异常产生位置下面的语句不在执行.直接执行catch中的内容.

finally一般是用来释放资源的.

在try块中可以抛出异常吗?

在try块中可以抛出异常:
在使用try finaly这种情况下产生了异常 我们只能在try中抛出异常,如下:
try{
  代码...
  throw new 异常();
}finally{

}

作者: 樊鹏飞    时间: 2012-10-23 20:48
throws抛出异常交给JVM , throw一般用在自定义的异常中,   try{}catch(){} 代码块对异常进行捕获 , finally{}表示:  {}中的代码一定会执行  
作者: 聆听    时间: 2012-10-28 14:16
就以下几点:
throws捕获并向外抛出异常
throw抛出异常
try catch是内部捕获异常并做自定义处理
finally是无论是否有异常都会被处理的语句,除非在finally前存在被执行的System.exit(int i)时除外




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2