使用异常从深度递归返回合法?

Paz*_*Paz 2 java recursion exception

我在OOP方法中进行了测试,并被问到以下True\False问题:

"抛出异常以便从深度递归调用返回被认为是异常机制的合法使用".

我认为这是错误的,因为它在应用程序的流程中并不是一个例外,但我的老师将其标记为真,说这是从深度递归返回的快速方法.

在我看来,它类似于在处理IndexOutofBounds时使用try\catch包装for块,这是不正确的编码.

你觉得哪个是对的?

jas*_*son 6

使用异常从递归返回错误的.例外情况适用于特殊情况.从递归返回并不是一种例外情况.

从Java语言教程:

Java编程语言使用异常来处理错误和其他异常事件.

异常是在执行程序期间发生的事件,该程序会中断正常的指令流.

错误的,并且违反标准编程实践,因为程序员期望异常用于特殊情况.任何其他用途都是错误的.期.