本帖最后由 e10my 于 2014-5-27 08:09 编辑
@author e10my 为您解答。
准确的来说应该有四(三)种:
throw(可能不算)
throws(还是抛出去让别人处理)
catch(捕获异常,然后手动处理或者再抛出)
jvm处理(。。。)
楼主可能需要注意throw 和throws 的区别(视频中已经有了很详细的解释)
大概说一下就是throw 用于方法内的抛出。
这个抛出严格来说我觉得不属于异常的处理 ,而应该属于异常的制造
因为throw 语句一般是- throw new Exception ("");
复制代码
抛出一个新的异常,可以用在捕获异常之后处理一下然后重新抛出。
- public class A{
- try{
- 可能发生异常的语句
- }catch(Exception e){
- e.getMessage();//自己处理
- throw new Exception ("");
- }
- }
复制代码 像这样。然后 throws 用于 方法或者类名之后例如:- <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{
- 可能发生异常的语句
- }</pre></pre><pre id="best-content-182743040" accuse="aContent" class="best-text mb-10" style="margin-bottom: 10px;"></pre>
复制代码
凡是抛出的的异常最终都要进行catch捕获。然后手动处理 或者 利用jvm处理。(最终的处理方式应该只有这两种吧。抛出什么的怎么能是处理了呢?啊摔!)有时候确实需要jvm处理,因为异常的情况处理的时候一般不需要来捕获所有的异常信息 。只捕获已知的异常即可(不同的异常信息需要不同的处理方式。)有利于bug的发现于调试。
ps:希望我的回答对楼主有帮助,如果有异议希望同学及时指出。thx、
感谢@伍叶竹 版主加分
|