码迷,mamicode.com
首页 > 其他好文 > 详细

异常机制

时间:2018-06-14 18:01:11      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:stat   ott   区别   obj   owa   例外处理   java异常   bsp   .com   

1、java异常机制

  • try{

//代码区}catch(Exception e){//异常处理}

try语句: try语句用大括号{}指定了一段代码,该段代码可能会抛弃一个或多个例外。catch语句:catch语句的参数类似于方法的声明,包括一个例外类型和一个例外对象。例外类型必须为Throwable类的子类,它指明了catch语句所处理的例外类型,例外对象则由运行时系统在try所指定的代码块中生成并被捕获,大括号中包含对象的处理,其中可以调用对象的方法。catch语句可以有多个,分别处理不同类的例外。Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止。这里,类型匹配指catch所处理的例外类型与生成的例外对象的类型完全一致或者是它的父类,因此,catch语句的排列顺序应该是从特殊到一般。也可以用一个catch语句处理多个例外类型,这时它的例外类型参数应该是这多个例外类型的父类,程序设计中要根据具体的情况来选择catch语句的例外处理类型。

  • try语句包含了由一个或者多个语句组成的try块, 和至少一个catch子句或者一个finally子句的其中一个,或者两个兼有, 下面是三种形式的try声明:
  1. try...catch
  2. try...finally
  3. try...catch...finally


Throwable类是整个异常体系类的父级类,当然最终追根溯源到底的父类当然要归于Object类。Throwable类实现了Serializable接口,表示Throwable可以进行序列化,继承自Object类,他的子类主要是Error和Exception类还有一个StackRecorder类(不是很常见)。

技术分享图片

 

解释一

throws和try catch区别:

1.throws是表明方法抛出异常,需要调用者来处理,如果不想处理就一直向外抛,最后会有jvm来处理;

2.try catch 是自己来捕获别人抛出的异常,然后在catch里面去处理;

一般情况下,第二种情况要好一些,这样可以清楚地看到异常的原因,并加以修正。

 

解释二

对于异常有两种处理方法

1、要么声明异常,也就是在方法名后面加上throws exceptionname,..., 方法本身只是抛出异常,由函数调用者来捕获异常。 若产生异常,异常会沿着调用栈下移,一直找到与之匹配的处理方法,若到达调用栈底仍未找到,程序终止。

2、要么捕获异常。通过try catch方法,catch子句中放置处理异常的语句。

 

联系二:对于会觉得会有异常抛出的程序块,用try{}包住,然后用catch来抓住这个异常,在catch中对异常做处理, 在try中如果有异常的话,程序会转到catch而不会中断,通常这两个是配合使用的,如果你不想因为程序有错,而抛出一大堆异常的话,你就把该程序try起来,trycatch只能获取程序运行时引发的异常,而throw语句可以引发明确的异常,程序到了throw语句这后就立即停止,不会执行后面的程序,

 

 

异常机制

标签:stat   ott   区别   obj   owa   例外处理   java异常   bsp   .com   

原文地址:https://www.cnblogs.com/li-ling/p/9183215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!