Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Error en DivideByZeroException, C#

Estas en el tema de Error en DivideByZeroException, C# en el foro de .NET en Foros del Web. ¡Hola! Verán, estaba haciendo un ejemplo muy simple de la excepción DivideByZeroException, y cuando corrí el programa, no me tira el error que debe de ...
  #1 (permalink)  
Antiguo 10/04/2016, 15:55
Avatar de OPMUANRK  
Fecha de Ingreso: diciembre-2014
Mensajes: 52
Antigüedad: 9 años, 4 meses
Puntos: 1
Pregunta Error en DivideByZeroException, C#

¡Hola!
Verán, estaba haciendo un ejemplo muy simple de la excepción DivideByZeroException, y cuando corrí el programa, no me tira el error que debe de ser, me divide por cero en realidad y el resultado me da 8...

Código C#:
Ver original
  1. static void Main(string[] args)
  2.         {
  3.             float a, b;
  4.  
  5.             Console.WriteLine("***Bienvenido al mejor programa para dividir.***");
  6.  
  7.             Console.WriteLine("\nAhora, ingrese un valor: ");
  8.             a = float.Parse(Console.ReadLine());
  9.  
  10.             Console.WriteLine("\nBuen chico, ahora ingrese otro valor: ");
  11.             b = float.Parse(Console.ReadLine());
  12.  
  13.             try
  14.             {
  15.                 Console.WriteLine("\nResultado:" + "\n" + (float)a / b);
  16.             }
  17.             catch (DivideByZeroException)
  18.             {
  19.                 Console.WriteLine("\nNo se puede dividir por cero, jovenazo.");
  20.                 Console.WriteLine("\nResultado:" + "\nERROR");
  21.             }
  22.  
  23.             Console.ReadKey();
  24.         }
  #2 (permalink)  
Antiguo 10/04/2016, 17:05
Avatar de OPMUANRK  
Fecha de Ingreso: diciembre-2014
Mensajes: 52
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Error en DivideByZeroException, C#

La solución es que, al parecer, en C# sólo se puede marcar esa excepción si los tipos de variables son int o decimal, no float.
  #3 (permalink)  
Antiguo 10/04/2016, 17:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error en DivideByZeroException, C#

Los Int y Decimal son números de precisión, por lo cual el cero en uno y otro caso son valores que existen realmente.
Los Float son números de punto flotante, por lo que se trata de valores por aproximación. En ese tipo de valores el cero absoluto no existe, como tampoco existen valores enteros precisos. En ese sentido es perfectamente posible que la división por cero no ocurra jamás.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: c#, errores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:59.