`
kerlubasola
  • 浏览: 678063 次
文章分类
社区版块
存档分类
最新评论

第38条:检查参数的有效性

 
阅读更多

每当编写方法或者构造器的时候,应该考虑他的参数有哪些限制。应该把这些限制写到文档中,并且在这个方法体的开头处,通过显式的检查来实施这些限制。养成这样的习惯是非常重要的。
demo:
1\对于公有的方法,要用Javadoc的@throws标签(tag)在文档中说明违反参数值限制会抛出异常。
手工抛出异常,并且添加@throws注解说明原因


2\对于未被导出的方法(unexported method),作为包的创建者,你可以控制这个方法将在哪些情况下被使用,因此你可以,也应该确保只将有效的参数传递进来。
因此,非公有的方法通常应该使用断言(assertion)来检查他们的参数。
通过将-ea(或者-enableassertions)标记传递给java解释器,来启动他们。
(一般来说 assert 在开发的时候是检查程序的安全性的,在发布的时候通常都不使用 assert 。)


不同于junit里的断言方法:


分享到:
评论

相关推荐

    Linux命令笔记

    第三部分:用户权限 用户权限/用户管理命令 1:useradd 添加新用户 语法:useradd [选项] 用户名 2:passwd 设置用户密码 语法:passwd [选项] 用户名 3:usermod 修改用户信息 语法:usermod [选项] 用户名 4:chage ...

    windows实用dos命令大全

    三) CHKDSK——检查磁盘当前状态命令  1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。  2.类型:外部命令  3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]  4.使用说明:  (1)选用...

    电脑蓝屏对照码

    第三部分是错误名. 信息第一行通常用来识别生产错误的驱动程序或者设备. 这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其他技术资料中使用 2.推荐操作 蓝屏第二部分是推荐用户进行的操作信息. 有时, ...

    WIN XP蓝屏代码大全

    第三部分是错误名. 信息第一行通常用来识别生产错误的驱动程序或者设备. 这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其他技术资料中使用 2.推荐操作 蓝屏第二部分是推荐用户进行的操作信息. 有时, ...

    性能测试从零开始:LoadRunner入门与提升

    10.1.2 保证数据的有效性 284 10.2 LoadRunner高级功能的使用--Web Click Vuser 286 10.2.1 Web Click Vuser的产生背景 286 10.2.2 Web Click Vuser与传统Vuser的差别 286 10.2.3 使用Web Click Vuser 286 第11章 ...

    cmd操作命令和linux命令大全收集

    copy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件 copy ipadmin$svv.exe c: 或:copyipadmin$*.* 复制...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。 3.主要参数 --backup[=CONTROL]:为每个已存在的目的地文件进行备份。 -b:类似 --backup,但不接受...

    EXCEL VBA常用技巧

    13-2 检查单元格是否含有公式 38 13-3 判断单元格公式是否存在错误 39 13-4 取得单元格中公式的引用单元格 40 13-5 将单元格中的公式转换为数值 41 技巧14 单元格中的批注 42 14-1 判断单元格是否存在批注 42 14-2 ...

    统计学方法与数据分析(上下册)

    第十八章重复测量与交叉设计 18.1引言和案例 18.2有重复观测的单因子试验 18.3一个因子有重复观测的两因子试验 18.4交叉设计 18.5小结 补充练习 第十九章一些非平衡设计的方差分析 19.1引言和案例 19.2有一...

    华为编程开发规范与案例

    1、对函数参数进行有效性检查 第43页 【案例2.1.1】 第43页 【案例2.1.2】 第43页 【案例2.1.3】 第44页 【案例2.1.4】 第46页 【案例2.1.5】 第47页 【案例2.1.6】 第48页 2、注意多出口函数的处理 第49页 【案例...

    IPv6.rar

    ·IPv4的局限性: 1.地址空间的局限性:IP地址空间的危机由来已久,并正是升级到IPv6的主要动力。 2.安全性:IPv4在网络层没有安全性可言,安全性一直被认为是由网络层以上的层负责。 3.自动配置:对于IPv4节点的...

    PHP+Ajax网站开发典型实例-源代码

    实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP文件实例 实例12 获取文件信息 实例13 文件写入并锁定 实例14 读取文件信息 实例15 随机...

    硬件设备运维方案设计设计(1).doc

    3突发事件应急策略38 6服务团队40 概述 XXX第二次土地调查数据库及国土资源视频会议系统运维项目内容主要分为土地调查 数据库软硬件运维工作和视频会议系统运维工作,服务内容涵盖了网络交换机机设备、网 络安全防护...

    计算机应用技术(实用手册)

    在[First Boot Device]、[Second Boot Device]以及[Third Boot Device]的项目当中选择要做为第一、第二以及第三顺序开机的装置。BIOS将会依据你所选择的开机装置,依照顺序来启动操作系统!其中可以选择的设备根据...

    Excel新增工具集

    9、删除删除某列为空或和为0的工作表:本操作将删除指定列从第n行起单元格中数字为空或为0的工作表,给合并有效的工作表扫清障碍。 10、检查两列同行两单元格是否相同:由ID号意义相同的从表向主表合并列记录时,往往...

    超级有影响力霸气的Java面试题大全文档

    4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最...

Global site tag (gtag.js) - Google Analytics