A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangkerui 中级黑马   /  2014-5-26 20:15  /  3128 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wangkerui 于 2014-5-27 13:17 编辑

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

7 个回复

倒序浏览
有两中方式:
1.catch(捕获)异常,自己处理.
2.throw(抛)出去,让别人处理.
回复 使用道具 举报 1 0
本帖最后由 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、
感谢@伍叶竹 版主加分

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1 赞一个!

查看全部评分

回复 使用道具 举报
有两种方式: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 ("");
  }

}

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1 继续加油。

查看全部评分

回复 使用道具 举报
要么抛要么try
回复 使用道具 举报
学习了,,
回复 使用道具 举报
思维 高级黑马 2014-7-21 14:51:17
7#
不错!有见解:D
回复 使用道具 举报
gan 中级黑马 2015-5-8 13:34:59
8#
两种 处理异常和声明异常
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马