为什么 String.indexOf 不使用异常,但在找不到子字符串时返回 -1?

2022-09-03 08:18:57

为什么 String.indexOf 不使用异常,但在找不到子字符串时返回 -1?

这个问题的目的是:当我们开始自定义异常时。

相信避免需要返回特殊错误码是正确的设计路径。

你怎么看?


答案 1

根据经验,如果一种方法的目的是检查某些东西,那么缺少某些东西不应该是一个例外。如果该方法假设某事为真,那么缺少该某物将是一个例外。因此,“File.exists()”不会抛出FileNotFoundException,但“File.open()”会。


答案 2

例外情况适用于特殊情况,当字符串不包含字母时,这几乎不是例外情况,除非您将其用于某些极端情况。如果这就是你正在做的事情,你可以随时选择抛出你自己的异常。


推荐