Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad
Aplique comprobaciones de seguridad para entradas no válidas previsibles, lance excepciones ante estados excepcionales y use try/catch para gestionar los errores correctamente.
Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.
Descripción general del diagnóstico
Objetivo: Use comprobaciones de protección para los problemas esperados y excepciones para los problemas poco frecuentes y graves.
Demostración de comprobación de protección
Las comprobaciones de protección devuelven un estado en lugar de lanzar una excepción ante entradas no válidas habituales.
using System;
public class Program
{
public static bool TryDivide(int a, int b, out int result)
{
if (b == 0)
{
result = 0;
return false; // guard check fails
}
result = a / b;
return true;
}
public static void Main(string[] args)
{
int r;
bool ok = TryDivide(10, 0, out r);
Console.WriteLine("ok=" + ok + " result=" + r);
}
}
Demostración de excepciones
Las excepciones detienen la ejecución salvo que se controlen. Úselas para condiciones inesperadas o graves.
using System;
public class Program
{
public static int PriceWithTax(int price, int ratePercent)
{
if (price < 0)
{
throw new ArgumentOutOfRangeException("price");
}
if (ratePercent < 0 || ratePercent > 100)
{
throw new ArgumentOutOfRangeException("ratePercent");
}
return price + (price * ratePercent / 100);
}
public static void Main(string[] args)
{
try
{
int total = PriceWithTax(100, 20);
Console.WriteLine("Total=" + total);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Combinar comprobaciones y excepciones
Combine ambos enfoques: use comprobaciones de protección para la validación rutinaria y excepciones para los estados no válidos.
using System;
public class Program
{
public static bool TryParsePrice(string text, out int value)
{
return int.TryParse(text, out value); // guard check
}
public static int GetDiscount(int code)
{
if (code < 0) throw new ArgumentException("Invalid code"); // exception
return 10;
}
public static void Main(string[] args)
{
int v;
if (TryParsePrice("123", out v))
{
Console.WriteLine("Parsed " + v);
}
try
{
int d = GetDiscount(-1);
Console.WriteLine("Discount=" + d);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Ejemplo de try/catch
Use try/catch para controlar las excepciones y mantener el programa en ejecución.
using System;
public class Program
{
public static void Main(string[] args)
{
try
{
int x = 10;
int y = 0;
int z = x / y; // will throw DivideByZeroException
Console.WriteLine(z);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Cannot divide by zero: " + ex.Message);
}
}
}
Consejos
Consejos:
- Las comprobaciones de protección devuelven valores predeterminados seguros en los casos habituales.
- Las excepciones deben ser poco frecuentes y significativas.
- Capture solo aquello que pueda controlar.
Comprobación de protección frente a excepción
Repaso
Repaso: Use comprobaciones de protección para las entradas no válidas habituales, lance excepciones para estados excepcionales y use try/catch cuando sea posible recuperarse.
Preguntas frecuentes
¿La lección «Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad» es gratis?
Sí — el texto completo de «Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad»?
Aplique comprobaciones de seguridad para entradas no válidas previsibles, lance excepciones ante estados excepcionales y use try/catch para gestionar los errores correctamente. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.
¿Cuánto tiempo toma la lección «Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- if/else, switch (clásico) y bucles: for, while, do, foreach
- break/continue; goto (evitar); ámbito; excepciones frente a comprobaciones de seguridad
- Diagnóstico sencillo: excepciones frente a comprobaciones de seguridad