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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董志超 中级黑马   /  2012-10-26 06:55  /  1670 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

try{}    catch{}  
tyr{}    catch{}    finally{}  
try{}    finally{}
上面的三种异常处理方式怎么区别应用?
又怎样与throws和throw结合使用?

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

5 个回复

倒序浏览
try{} catch{} 这种情况是捕获并处理异常 catch内处理异常
try{} catch{} finally{}  这种情况是捕获并处理异常,finally代表无论出现什么情况,都要执行的代码快。举例来说:因为每次出现异常,程序就会终止,导致一些占用的系统资源可能没有被释放,所以可以选择finally里释放这些资源。
try{} finally 明白上面的就好理解这个了,尝试执行try内的代码,如果出现异常就往外抛出,但是finally内的代码必须要执行。
throws是将方法内的异常,抛给上一层。 一般下在方法名后面。 throw是抛出异常,就是说你的代码,运行到哪个步骤,因为某些原因可能出问题,这是你可以利用throw抛出一个异常,终止这块代码继续往下执行。 例如: throw new RuntimeException();   这句的意思是,抛出一个运行时异常。

个人浅见,不知道楼主能不能理解。  如果哪里有解释不对的,希望楼下补充。{:soso_e181:}

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

回复 使用道具 举报
楼主说的大概意思我懂了,看看我想的,希望是你想要的。
try
{
///可能出现异样的语句
}
catch(Exception e) throws  xxxx  //需要抛的异样 ,或者再一次try catch 进行捕获
{
   ///出现异常时候的处理方式
}
finally{
  ///必须要执行的代码。

}
在try catch finally 同样还可以再一次使用 捕获和处理异样。

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 山寨

查看全部评分

回复 使用道具 举报
try{}catch{}
try{}catch{}finally{}
这两种差不多,因为有catch()捕获,并处理异常。如果try中抛了异常,在catch会捕获到。
finally{}则是无论如何都会执行到的代码,加入抛RuntimeException,程序挂了,但是数据库的连接还没关,这时就用到了finally,释放资源。
回复 使用道具 举报
山寨~~~汗~~
回复 使用道具 举报

try{}    catch{}  
tyr{}    catch{}    finally{}  
try{}    finally{}
上面的三种异常处理方式怎么区别应用?

try 内写的是需要被检测的代码
catch()内写的是处理方式
finally内写的是一定会被执行的代码
三种格式依据不同的情况或条件分别运用哈
throw 手动跑出异常。定义在函数内,用于抛出异常对象
throws 定义在函数上,用于抛出异常类。


又怎样与throws和throw结合使用?
结合使用的话 ,就是catch()后再次throws或throw抛出异常了


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马