我有一个类应该包含在某些输入文件中找到的字符串。合同是该文件包含多个条目(由 # 个字符分隔),准确地说:该文件中至少应包含两个条目。
现在我可以这样做:
public MyWrapper(List<String> fileEntries) {
if (fileEntries.size() < 2) {
throw new IllegalArgumentException("Not enough entries ...
}
或者我可以这样做:
public MyWrapper(List<String> fileEntries) {
this.firstEntry = fileEntries.get(0);
this.secondEntry = someMethodThatMergesAllRemainingEntries(fileEntries);
第二部分会在某个时刻抛出 ArrayIndexOutOfBound 。
我的问题是:Java 标准库中是否有一些可以视为指导的先例?(类似于 Java 标准库调用requireNonNull(),它告诉我们对于空参数可能更喜欢抛出 NPE 而不是 IllegalArgumentException)。
注意:我并不是在问“什么会更好”,双方都有各自的优点和缺点(我有点倾向于选择选项 1,因为它更短)。
回首忆惘然
相关分类