当前位置:  技术问答>java相关

.........今日话题...........Exception Vs Return?

    来源: 互联网  发布时间:2015-06-13

    本文导语:  当你在写程序的时候, 怎么决定用Exception 还是 "Return Null" or other value like "0", "1"? | 异常的捕捉是在必需的时候才用。比如:要通过捕捉网络异常来决定程序的走向,如果是端口没有打开...

当你在写程序的时候, 怎么决定用Exception 还是 "Return Null" or other value like "0", "1"?

|
异常的捕捉是在必需的时候才用。比如:要通过捕捉网络异常来决定程序的走向,如果是端口没有打开则....;如果是连接超时则....;如果是...;

是return null,还是return一个基本数据类型,还是一个数组,还是一个类实例....那要看你程序的要求了。

|
以前对于像jaxp定位子元素之类的方法,我是支持用返回null来代表找不到的。jaxp本身也正是这样做。
不过最近细想了一下,觉得虽然两种都可以。但是还是抛exception比较清晰,而且省去大量调用方法后的判断null的条件语句。

|
请参看http://www.csdn.net/expert/topic/689/689017.xml?temp=.6883203中的讨论

|
异常一定要捕获,可在异常处理里返回值,至于返回什么,那就要看情况了。

|
这是个好问题。我最近一直在想:使用exception的时候有什么原则?处理exception有什么原则?现在完全是一片混乱,有些地方抛出了,有些地方没有;有些地方捕捉了,有些地方没有,捕捉的地方也各不相同……

请大侠指教!

|
我也一直是抛异常来处理的

|
有位高手说过,在任何情况下,都不要使用return一个值来表示程序错误,而要使用Exception。因为这样程序结构清晰,而且编译器强制调用者捕获异常。可以避免发生不必要的错误。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 公告:CSDN AIX论坛有奖话题讨论活动(二)——本期话题:Cobol有学习价值吗?
  • 公告:CSDN AIX论坛有奖话题讨论活动(三)——本期话题:UX上的ServiceGuard,和HACMP相比较,谁更稳定?
  • 公告:CSDN AIX论坛有奖话题讨论活动(七)——本期话题:在海量运算方面,和Linux系统相比,AIX系统有优势吗?
  • 公告:CSDN AIX论坛有奖话题讨论活动(八)——本期话题:除了数据库应用,还有哪些应用也可以运行于AIX系统之上?(和Linux系统相比较,性能更优)
  • 公告:CSDN AIX论坛五月有奖话题讨论活动(四)——本期话题:从目前来看,类似象Watson这样的超级计算机,它们的应用领域可以在什么地方?
  • 公告:CSDN AIX论坛有奖话题讨论活动(四)——本期话题:从开发周期上来看,和HP-UX、Solaris相比,AIX系统有优势吗?
  • 公告:CSDN AIX论坛有奖话题讨论活动(六)——本期话题:AIX的动态工作负载分区和Hypervisor的逻辑分区相比,有何优劣?
  • 公告:CSDN AIX论坛有奖话题讨论活动(一)——本期话题:UNIX的发展前景
  • jQuery 话题标签 Hashtegny
  • 公告:CSDN AIX论坛五月有奖话题讨论活动(一)——本期话题:海量数据时代,云基础架构的瓶颈有哪些?比如内存、带宽、CPU计算速度、安全性等
  • 【一周话题】有人上中科院的工程硕士么?
  • WEB前端 iis7站长之家
  • 【一周话题】新年快乐!
  • 有请各位朋友帮忙讨论--关于动态生成的话题!
  • 问个古老的话题:如何搭建php+mysql+apache的环境
  • 问大家一些关于Samba的话题,望高手指点一下
  • 潜力开源项目wxwindows话题,大家进来看看,来者有分
  • 【一周话题】关于linux下的图形编程,大家聊聊
  • 【一周话题】请大家介绍一下关于设计模式的实际应用例子
  • 【一周话题】关于Ajax, 大家聊一聊


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3