pikachumm / CalculatorService

0 stars 0 forks source link

System.OverFlowException en ReadInt() #12

Closed X509Whatever closed 2 years ago

X509Whatever commented 4 years ago

Mientras Jenkins me buildea la rama, voy a intentar romper tu código xd

Tu función ReadInt() tiene un pequeño problema, y es que en el try catch que usas para leer un número solo estás mirando System.FormatException, por lo que, al introducir un número que int no puede almacenar, peta, y ahí se queda xd

image image

El arreglo más sencillo que le veo a esto es quitar catch (System.FormatException) y poner catch (Exception). Y la calculadora seguirá funcionando xd (o le añades un catch más que sea para esta excepción, pero si miras por Exception va rodao xdd)

image

atthepit commented 4 years ago

Generalmente no es buena idea hacer catch(Exception) porque puede hacer que te comas algunos errores importantes sin darte cuenta.

No pasa nada por añadir un nuevo catch más abajo con la OverFlowException y tratarla aparte.

X509Whatever commented 4 years ago

Generalmente no es buena idea hacer catch(Exception) porque puede hacer que te comas algunos errores importantes sin darte cuenta.

No pasa nada por añadir un nuevo catch más abajo con la OverFlowException y tratarla aparte.

Toda la razón, pero como comento, es la solución "sencilla" xd

Por ejemplo, donde sí que no veo correcto el uso de Exception es en la parte servidor en los controladores, donde se hace un catch (Exception) y un throw Exception() sin pintar un stacktrace ni nada (acorde a la causa que lo genera)... (como cuando intentas dividir entre 0; quizás un DivideByZeroException quedaría kool

Al final, la calculadora se la complica cada uno como quiere (: