当前位置: 代码迷 >> J2SE >> 如何理解错误方面的try{}catch{}finally{},throws throw
  详细解决方案

如何理解错误方面的try{}catch{}finally{},throws throw

热度:413   发布时间:2016-04-23 19:36:59.0
怎么理解异常方面的try{}catch{}finally{},throws throw?
        我们今天讲的异常有点快,没全听懂,我现在只知道了try{}catch{}finally{}是一个系列,try找到异常,在catch中交给虚拟机自动处理。throws  throw这两个关键字是一个系列,throws是声明可能存在的异常,throw是抛出异常类。
        觉得try catch像是自动挡遇到一些错误由JVM自动报错或者有调用catch里的内容隐藏并通过其他语句处理掉,而throws  throw就像手动挡,要抛出的错误内容需要手动设定。
        不知道我理解的对不对?还有两个系列有什么区别?try catch finally这三个关键字的组合(try catch  \try catch finally\try finally)能和throws throw这两个关键字相组合使用吗?
------解决思路----------------------
这个还没怎么细想过,只能说你这么理解我觉得无可厚非
------解决思路----------------------
try{}catch{}finally{}是一种异常捕获手段,throws throw则是JVM异常传递的手段,当发生异常时,会根据throws throw沿着方法调用栈一直传递这个异常,直至遇到try{}catch{}finally{},此时说明编程者手动处理了这段异常,若没有任何处理,JVM会在调用栈根本完完整整的抛出此异常。

两种是针对异常不一样的处理,理解之后对于编写代码时的异常处理,或者整个系统的异常架构会有很好的帮助。