Hello! 欢迎来到小浪资源网!

项目仅在特殊情况下使用例外


项目仅在特殊情况下使用例外

避免使用异常进行常见的流量控制:

异常只能用于意外情况,而不是用来控制程序的流程。

有问题的代码示例:在超出数组的限制时尝试使用异常来结束循环

try {     int i = 0;     while (true) {         system.out.println(array[i++]);     } } catch (arrayindexoutofboundsexception e) {     // este código encerra o loop quando o índice ultrapassa o tamanho do array }  

问题:这种异常的使用效率低下且令人困惑。最好使用合适的循环结构。

for (int i = 0; i < array.length; i++) {     system.out.println(array[i]); }  

api 设计含义:

设计良好的 api 应避免在正常流程中强制使用异常。

示例:iterator接口提供了hasnext()方法来检查是否有更多元素,避免调用next()时出现不必要的异常。

Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) {     System.out.println(iterator.next()); }  

状态相关方法的替代方案:

当无法满足预期状态时,提供单独的方法来测试状态(hasnext)或特殊的返回值,例如 NULL 或optional。

相关阅读