美文网首页
Effective Java - 检查参数的有效性

Effective Java - 检查参数的有效性

作者: DZQANN | 来源:发表于2022-07-22 22:18 被阅读0次

第49条 检查参数的有效性

  1. 方法的参数限制,应该在文档中指明,并且在方法体的开头处检查参数,以强制施加这些限制
  2. 如果没有进行参数限制,最严重的会导致改变破坏了对象的状态,并在其它使用了被破坏的对象的时候抛出了异常
  3. Objects类提供了一些检查校验的方法,比如Java7的Objects.requireNonNull,Java9的checkFromIndexSize, checkFromToIndex等等,Guava的Preconditions也提供了很多校验的
  4. 对于有一些参数,方法本身没有用到,但是却被保存起来供以后使用,校验这类参数尤为重要。比如构造方法和set方法
  5. 假设方法对于它能接受的所有参数值都能合理的完成工作,对参数的限制就应该越少越好

思考

  1. 校验本身非常简单,难的是如何优雅的告诉调用者。底层代码都是选择了直接抛出异常,这确实是一个比较方便的方式,缺点就是需要上游统一catch住异常。有的时候抛出的是NPE,有的时候又是IllegalArgumentException,而且不能区分出是参数异常还是运行时的异常。最好项目统一定义一个ParamIllegaleException,在校验的时候统一抛出这个异常
  2. 如果选择不抛出异常,极大可能就是返回一个null,这样做就是会导致将错误的发现变晚了,到后面其它逻辑抛出了NPE才会被发现,无形中增加了分析异常的难度

相关文章

  • Effective Java 第三版——49. 检查参数有效性

    Tips《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人...

  • 检查参数的有效性

    前段时间,负责帮忙测试了一些接口。于是乎用postman测试,但是测试过程中出现了错误,返回的结果只是显示500状...

  • 提示四十九:检查参数的有效性

    提示四十九:检查参数的有效性。 方法的参数限制,应该在文档中指明,并且在方法体的开头处检查参数,以强制施加这些限制...

  • 方法

    38,检查参数的有效性 你应该在文档中清楚地指明所有的参数限制,并且在方法的开头处检查参数,以强制施加这些限制。 ...

  • 第七章、方法

    第三十八条、检查参数的有效性 如果传递无效的参数值给方法,这个方法在执行之前应该先对参数进行检查,那么它很快就会失...

  • Java-构建器

    需求: 创建Bean实例时需要传入多个参数 需要控制参数的访问权限,防止被其他使用者修改 能够做参数有效性检查 构...

  • Effective Java for Android

    Android 版《Effective Java》 翻译原文 Effective Java for Android...

  • Effective Java

    第38条:检查参数的有效性 对于公有的方法,要用 Javadoc 的@throws标签在文档中说明违反参数值限制时...

  • Effective Java(二)

    我将文章拆成了两部分,继续来写Effective Java中的内容。 有效的检验参数,如果参数调用错误,则抛出异常...

  • 项目49:检查参数的有效性

    ITEM 49: CHECK PARAMETERS FOR VALIDITY  大多数方法和构造函数对传入参数的值...

网友评论

      本文标题:Effective Java - 检查参数的有效性

      本文链接:https://www.haomeiwen.com/subject/vbtiirtx.html