黑马程序员技术交流社区

标题: Java中的异常有几种处理方式啊 [打印本页]

作者: wangkerui    时间: 2014-5-26 20:15
标题: Java中的异常有几种处理方式啊
本帖最后由 wangkerui 于 2014-5-27 13:17 编辑

Java中的异常有几种处理方式啊,求赐教!

作者: 为了明天    时间: 2014-5-26 20:42
有两中方式:
1.catch(捕获)异常,自己处理.
2.throw(抛)出去,让别人处理.
作者: e10my    时间: 2014-5-26 21:18
本帖最后由 e10my 于 2014-5-27 08:09 编辑

@author e10my 为您解答。

准确的来说应该有四(三)种:
throw(可能不算)
throws(还是抛出去让别人处理)
catch(捕获异常,然后手动处理或者再抛出)
jvm处理(。。。)
楼主可能需要注意throw 和throws 的区别(视频中已经有了很详细的解释)
大概说一下就是throw 用于方法内的抛出。
这个抛出严格来说我觉得不属于异常的处理 ,而应该属于异常的制造  
因为throw 语句一般是
  1. throw new Exception ("");
复制代码

抛出一个新的异常,可以用在捕获异常之后处理一下然后重新抛出。
  1. public class A{
  2.   try{
  3.    可能发生异常的语句

  4.   }catch(Exception e){
  5.      e.getMessage();//自己处理
  6.      throw new Exception ("");
  7.   }
  8. }
复制代码
像这样。然后 throws 用于 方法或者类名之后例如:
  1. <pre id="best-content-182743040" accuse="aContent" class="best-text mb-10" style="margin-bottom: 10px;"><pre id="best-content-182743040" accuse="aContent" class="best-text mb-10" style="margin-bottom: 10px; font-family: arial, 'courier new', courier, 宋体, monospace; white-space: pre-wrap; color: rgb(51, 51, 51); line-height: 24px; background-color: rgb(241, 254, 221);">public class A throws Exception{

  2.      可能发生异常的语句

  3. }</pre></pre><pre id="best-content-182743040" accuse="aContent" class="best-text mb-10" style="margin-bottom: 10px;"></pre>
复制代码

凡是抛出的的异常最终都要进行catch捕获。然后手动处理 或者 利用jvm处理。(最终的处理方式应该只有这两种吧。抛出什么的怎么能是处理了呢?啊摔!)有时候确实需要jvm处理,因为异常的情况处理的时候一般不需要
  1. catch(Exception e)
复制代码
来捕获所有的异常信息 。只捕获已知的异常即可(不同的异常信息需要不同的处理方式。)有利于bug的发现于调试。
ps:希望我的回答对楼主有帮助,如果有异议希望同学及时指出。thx、
感谢@伍叶竹 版主加分

作者: 黑马粉、峥    时间: 2014-5-26 22:46
有两种方式:1.捕获异常,自己处理.
           2.throw出去,让别人处理.
举个例子:
public class A{
  try{
   可能放生异常的语句...

  }catch(Exception e){
     e.getMessage();//自己处理
  }

}

public class A throws Exception{

     可能放生异常的语句...

}//throw出去,让别人处理
注意这里用的是throws
如果在方法里面则用throw
举例:
public class A{
  try{
   可能放生异常的语句...

  }catch(Exception e){
     e.getMessage();//自己处理
     throw new Exception ("");
  }

}
作者: java木    时间: 2014-5-26 22:49
要么抛要么try
作者: 水中月    时间: 2014-5-27 07:54
学习了,,
作者: 思维    时间: 2014-7-21 14:51
不错!有见解:D
作者: gan    时间: 2015-5-8 13:34
两种 处理异常和声明异常




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