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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求解 try{}catch{}finally{}都有什么用,他们捕捉到异常,之后感觉好像也没什么用,它是把异常给处理了吗?然后那个throws抛出异常不还是有异常,看过好像也很难理解,求大神指教。

12 个回复

倒序浏览
这个就像你走路的时候的告示路标一样,告诉你前面有危险之类的一样,可以让别人知道. 有try说明这个代码可能会出问题,其实初级阶段没必要太纠结,记住就好了.以后就理解了.
回复 使用道具 举报
throws抛出异常是为了告诉调用者我这里可能会出错,如果有错了调用可以处理,也可以继续往外抛出,自己捕获异常则是为了提高程序的健壮性一旦有了错误,可以有个解决方法,比如记录日志    切忌在程序中写个空的catch什么都不做,哪怕是输出一句话也别写空catch,这样出了错你都不知道哪里出的错
回复 使用道具 举报
多敲吧  有时候敲着敲着就体会到了  
回复 使用道具 举报
这个是Jvm给你的优惠,就比如说你走在一条路上,前边警告你有一个下水道的井盖没有,让你小心绕过,你绕过的这个过程就是抛出的过程,至于这个下水道的井盖什么时候能有,不需要你去关注,jvm底层的一些东西会帮你来完成,是你的程序跑起来就OK了,感觉不到有什么用,但没有他,你会过不去的
回复 使用道具 举报
抛出去之后自己给解决方法 呀
回复 使用道具 举报
feng0606 发表于 2015-11-17 17:15
这个就像你走路的时候的告示路标一样,告诉你前面有危险之类的一样,可以让别人知道. 有try说明这个代码可能 ...

好吧,我多敲几遍吧
回复 使用道具 举报
小笨笨天 发表于 2015-11-17 20:02
多敲吧  有时候敲着敲着就体会到了

只能这样了,确实不好理解。
回复 使用道具 举报
Rocky_zhang 发表于 2015-11-17 22:06
这个是Jvm给你的优惠,就比如说你走在一条路上,前边警告你有一个下水道的井盖没有,让你小心绕过,你绕过 ...

就是说抛出之后程序就可以运行下去了?你这个解释挺好的,那个try catch要怎么理解呢
回复 使用道具 举报
sufutian 发表于 2015-11-18 18:45
抛出去之后自己给解决方法 呀

不太懂,自己给什么方法
回复 使用道具 举报
雨来 高级黑马 2015-11-18 21:37:58
11#
你写一个方法的时候,你可能会认为你的程序你的方法会运行在一个完美的环境中,但是使用都是面向所人群的,如写文件  会不会出现硬盘空间不足的情况,除数会不会出现除以0的情况,传输东西的时候,会不会网络中断,当然你会认为 程序是运行在一种完美的情况下的,如果出现上述这样的情况,你会怎么办呢,如果没有异常处理  真的出现这种情况,你的程序就挂掉了,用了异常我们可以提示用户,也可以让程序员看到程序哪里有Bug
回复 使用道具 举报
没必要太钻牛角尖,等你学到后面慢慢就可以理解了。
回复 使用道具 举报
雨来 发表于 2015-11-18 21:37
你写一个方法的时候,你可能会认为你的程序你的方法会运行在一个完美的环境中,但是使用都是面向所人群的, ...

好像有点懂了,谢谢大神。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马