java异常处理

一、Java语言如何进行异常处理?关键字throws、throw、try、catch、finally分别代表什么?在try块中可以抛出异常吗?

用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理

try来指定一块预防所有异常的程序

catch子句来指定你想要捕捉的异常的类型

throw语句用来明确地抛出一个异常

throws用来标明一个成员函数可能抛出的各种异常

finally无论是否发生异常,都将要执行的代码块

try块中可以抛出异常

二、简单的描述下Java中的异常处理机制的原理和应用?

 java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.

Exception表示程序需要捕捉和处理的的异常;

Error表示系统级别的错误和程序无需处理的。

      我们所需要关心的是Exception. Execption可以分为java标准定义的异常和程序员自定义异常2种.

   (1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查。

   (2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是Thowable的子类。

异常处理是与程序执行是并行的

三、final、finally、finalize有什么用法上的区别?

final 修饰符(关键字) 如果一个类被声明为final,意味着它不能再派生新的子类,不能作为父类被继承。被声明为final的变量必须在声明时给定初值,而以后的引用中只能读取,不可修改,被声明为final的方法也同样只能使用,不能重载。

finally: 在异常处理时提供finally块来执行清楚操作

finalize: 方法名 。Java技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象进行调研的。它是在Object对象中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。

posted @ 2017-03-01 13:52  eros_token  阅读(213)  评论(0编辑  收藏  举报