`
2nd
  • 浏览: 15111 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java开发中对异常的处理

阅读更多

        最近入职一家新公司,第一周遇到一个人带着做项目,本来以为是带着熟悉一下业务,没想到被鄙视了。问我以前公司的时候也这么写代码?我当时比较蒙,确实不熟悉业务,于是接受了批评,表示以后一定改。

但是没过5分钟,我突然想明白了,和他去说自己的想法,得到的回复是,你现在应该适应现在,然后再改进,我说行!他说的没错,但是我觉着有些问题虽然没有明确的对错,但是会有每个人的理由。下面说一下我遇到的问题和争论的焦点。

       我做的是Java EE的controller层的编码,使用的是zk框架,他们建议我在controller里对每个对象在使用之前都要做为空的判断,我觉着也有道理。但是争论的焦点在容器类和判断后的处理,我的观点是:

一、对于容器类,使用前可以不判断,我的理由是所有返回值是容器类的方法永远都不应该返回null,而是应该用空容器替代,如果返回null,那么就是方法的bug;

二、在controller层,如果判断为空了,那么就一定要做完善的处理,不能简单的用这种方式

if(some == null){

       return;

}

或者

if(some != null){
   dosomething;
}

 

 

for(Object o:List){
    if(o==null){
       continue;
    }
}

 及时加上log日志,这种做法我觉着还不如不做判断的方案更好,理由是,做了这种处理掩盖了错误,虽然可以能够提供所谓的稳定性,但是对于业务和将来问题的排查产生重大问题。

 

 

在controller层不做为空处理,当数据有问题时会报错误,咱们加个500的错误处理页面展示给用户,人家知道你犯错误了,会做其他处理;但是如果用上述方法掩盖了问题,虽然不会报错了,但是用户也没有得到想要的结果,而且还不知道为什么会这样。

在for循环里,做跳过处理,其实是自作主张的删除了一条记录,虽然这个是非法数据,但是我们也没有权利掩盖掉。

这样做,给我的感觉是程序员为了避免所谓的bug,给系统增加了更大的风险。不加日志会难于排查将来的系统业务问题,即使加了日志,对于用户来说也会造成困扰。

如果觉着非要处理掉所有的null,那么我觉着应该在出现null的地方给用户一个里的提示,如果没有提示,那么请不要掩盖可能的错误或者异常,因为用户有知情权,程序员不该为了所谓的稳定性,用掩耳盗铃的方式处理null,尤其是在controller层。

异常处理其实是编码过程最难的部分,如果功力不够深,就让错误尽量的暴露出来,不丢人。

从开发效率来说,从我个人的经验来说,建议在controller层尽量减少不必要的null判断,在写服务的时候写的药尽量稳定,药处理掉各种情况。

写的比较乱,欢迎看懂的朋友拍砖。本人虚心接受

分享到:
评论

相关推荐

    有关java开发中对异常的处理知识

    ### 有关Java开发中对异常的处理知识 #### 引言 在Java开发过程中,异常处理是一项非常重要的技能。良好的异常处理不仅可以提升程序的健壮性,还能提高用户体验。本篇将详细介绍Java中的异常处理机制及其应用。 ##...

    java实验报告4-异常处理

    Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本实验报告“java实验报告4-异常处理”旨在帮助初学者掌握Java中的异常处理机制,以及如何利用log4j进行日志...

    java开发异常处理与日志规范

    Java开发中的异常处理和日志规范对于保持代码的健壮性和可维护性至关重要。下面将详细阐述这些要点: 1. **避免捕获可预检查的RuntimeException**:在Java中,像NullPointerException和IndexOutOfBoundsException...

    Java Web开发异常处理方式及AOP技术

    在Java Web开发中,异常处理是一项至关重要的任务,它确保了程序在遇到错误时能够优雅地处理并提供有用的反馈信息,而不是突然崩溃。本主题将深入探讨Java Web开发中的异常处理方式以及Aspect-Oriented Programming...

    java内存机制及异常处理

    Java内存机制是Java虚拟机(JVM)的关键组成部分,它管理着程序运行时的数据存储。在Java中,内存主要分为以下几个区域: ...正确理解和运用Java内存机制以及异常处理机制对于开发健壮、高效的Java应用程序至关重要。

    Java异常处理体系

    在Java编程语言中,异常处理是一项关键特性,用于在程序执行过程中捕获并处理错误情况。这个主题,"Java异常处理体系",涉及到Java如何优雅地处理程序运行时的异常,确保程序的健壮性和稳定性。这篇博文链接(已提供...

    JAVA范例 四)异常处理---编译时异常、运行时异常

    在Java编程语言中,异常处理是一项至关重要的技能,它涉及到程序的健壮性和可靠性。本文将深入探讨"JAVA范例 四)异常处理---编译时异常、运行时异常"这个主题,结合标签"源码"和"工具",我们可以理解这与实际编程...

    深入理解java异常处理机制Java开发Java经验技巧共

    这篇19页的PDF文档《深入理解java异常处理机制Java开发Java经验技巧共》可能涵盖了Java异常处理的基本概念、最佳实践以及高级用法。在Java中,异常处理通过五个关键字来实现:try、catch、finally、throw和throws。 ...

    Java 的异常处理.pdf

    Java的异常处理是编程中一个重要的概念,它用于在程序运行过程中捕获并处理错误情况。异常处理的主要目的是保持程序的稳定性和优雅性,避免因为未预期的问题导致程序崩溃。在Java中,异常处理通过使用try-catch块来...

    java高端技术课程--Java异常处理详解

    Java异常处理是Java编程中一个至关重要的概念,它关乎到程序的健壮性和稳定性。在Java语言中,异常处理提供了一种机制,使得程序在遇到错误或非正常情况时能够优雅地处理问题,而不是突然崩溃。这个“java高端技术...

    Java基础入门教程 第7章 Java中的异常处理(共26页).ppt

    Java中的异常处理是编程中非常重要的一个环节,它主要用于处理程序运行时可能出现的错误和问题。异常处理使得程序更加健壮,能够优雅地处理错误,而不是简单地崩溃。本章内容将围绕Java异常处理机制展开,包括理解...

    Java的异常处理和IO流

    Java的异常处理与IO流是Java编程中两个重要的概念,它们在软件开发中扮演着至关重要的角色。本文将深入探讨这两个主题,以便更好地理解和应用它们。 ### 一、Java异常处理 #### 1.1 什么是异常 异常是指在程序...

    Java编程中异常处理的方法和技巧研究.pdf

    Java编程中异常处理的方法和技巧研究 Java编程中异常处理是一项非常重要的技能和策略。...通过本文的研究和讨论,我们希望能够帮助Java开发人员更好地理解和掌握Java中的异常处理机制和技术,提高程序的质量和可靠性。

    异常处理 ppt java

    Java异常处理是编程中至关重要的一个环节,它用于处理程序执行期间可能出现的错误和异常情况。异常是在程序执行过程中发生的不正常事件,可能导致程序中断。Java提供了强大的异常处理机制来应对这些问题,使得程序能...

    Java 异常处理的误区和经验总结

    在Java编程中,异常处理是确保程序健壮性与稳定性的重要环节。然而,许多开发者在实际操作中常常陷入一些常见的异常处理误区,这不仅可能导致程序的错误难以追踪,还可能影响程序性能。以下是对Java异常处理的一些...

    java异常处理机制示例(java抛出异常、捕获、断言)

    Java异常处理机制是Java编程中不可或缺的一部分,它用于处理程序运行过程中可能出现的错误或异常情况。这个机制通过五个关键字:try、catch、throw、throws、finally来实现。 1. **try** 关键字:用于包围可能抛出...

    实现Java异常抛出和处理

    在Java编程中,异常处理是程序健壮性的重要组成部分。异常是程序运行时出现的错误,它可以中断程序的正常流程,使得我们能够捕获并处理这些错误,避免程序崩溃。本篇文章将深入探讨如何在Java中实现异常的抛出和处理...

    java 多线程异常处理

    Java多线程异常处理是Java编程中不可或缺的一部分,特别是在并发编程场景下,正确处理异常能够保证程序的稳定性和健壮性。本实验报告主要涵盖了Java异常处理机制、多线程概念与实现,以及多线程同步问题。 首先,...

    JAVA异常处理的分析与研究.pdf

    * 操作系统开发:JAVA 异常处理机制可以用于操作系统开发中,提高操作系统的健壮性和可靠性。 JAVA 异常处理机制是一种强大的机制,用于处理程序在运行过程中出现的异常情况。正确使用 JAVA 异常处理机制可以提高...

    Java编程异常处理最佳实践【推荐】

    Java中的异常处理是非常重要的,特别是在大型项目中,异常处理机制的设计和实现将直接影响系统的稳定性和可靠性。 Java中的异常处理机制可以分为两大类:Checked Exception和Unchecked Exception。Checked Exception...

Global site tag (gtag.js) - Google Analytics