En mi código de Java, tengo una función llamada getAngle()
que a veces arroja un NoAngleException
. ¿Es el siguiente código la mejor manera de escribir una función que sigue llamando al getAngle()
hasta que no se arroje ninguna excepción?En Java, ¿cuál es la mejor manera de seguir llamando a una función hasta que no se produzca ninguna excepción?
public int getAngleBlocking()
{
while(true)
{
int angle;
try
{
angle = getAngle();
return angle;
}
catch(NoAngleException e)
{
}
}
}
o sería una mejor idea de reescribir getAngle()
para volver NaN
en el error?
Acepto - getAngleBlocking() simplemente enmascara cualquier problema subyacente, causando potencialmente sus propios problemas causando un ciclo infinito o cuello de botella de rendimiento. – Adamski
Por supuesto, debe haber tiempos de espera para bloquear llamadas. He eliminado esa observación para mantenerlo simple. – ziggystar
El objetivo de getAngleBlocking es proporcionar una versión de bloqueo de getAngle. Si decido hacer el bloqueo de getAngle, eso derrota el punto del ejercicio. – Eric