Excepciones y Archivos en C#: Guía Práctica con Ejemplos de Código
Excepciones definidas por el usuario
Una excepción definida por el usuario permite que el programa devuelva un código de error cuando falla una operación.
Ejemplo: lectura de caracteres
static void Main()
{
Caracter c = new Caracter();
c.LeerCaracter();
Console.ReadLine();
}
public class Caracter
{
public void LeerCaracter()
{
char letra;
try
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Leer letra:");
letra = char.Parse(Console.ReadLine());
}
}
catch (FormatException p)
{
Console.WriteLine(p.Message);
}
catch
{
Console.WriteLine("error");
}
finally
{
Console.WriteLine("fin de la excepción");
}
}
}Programa para validar si una persona es mayor de edad
Realice un programa que valide si una persona es mayor de edad.
static void Main()
{
Edad e = new Edad();
e.ValidaEdad();
Console.ReadLine();
}
public class Edad
{
public void ValidaEdad()
{
int edad;
try
{
for (int i = 0; i < 20; i++)
{
Console.WriteLine("Edad:");
edad = int.Parse(Console.ReadLine());
}
}
}
}Operaciones básicas en archivos
Las operaciones básicas en archivos son: creación, apertura, lectura, escritura, recorrido y cierre. Una excepción es hacer que el programa devuelva un código de error cuando falla una operación.
Archivos de texto y binarios
Los archivos pueden ser de texto o binarios.
Escritura en archivos de texto
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
class Program
{
static void Main(string[] args)
{
FileStream fs = new FileStream(@"R:\Ejemplo\hola.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("hola");
sw.Close();
fs.Close();
}
}Imprimir el abecedario en un archivo de texto
static void Main()
{
FileStream fs = new FileStream(@"R:\Ejemplos\abecedario.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
for (char i = 'a'; i <= 'z'; i++)
{
sw.WriteLine(i);
Console.WriteLine(i);
}
Console.ReadKey();
sw.Close();
fs.Close();
}Programa con funciones de string sobre un archivo de texto
Realice un programa utilizando archivos de texto que utilice distintas funciones de string.
FileStream fs = new FileStream(@"R:\ej\input.txt", FileMode.OpenOrCreate, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
string cadena;
cadena = sr.ReadToEnd();
Console.WriteLine(cadena);
Console.WriteLine(cadena.Length);
Console.WriteLine(cadena.Substring(5));
Console.WriteLine(cadena.IndexOf('i'));Tipos de excepciones en C#
- OutOfMemoryException
- StackOverflowException
- NullReferenceException
- TypeInitializationException
- InvalidCastException
- ArrayTypeMismatchException
- IndexOutOfRangeException
- DivideByZeroException
- OverflowException
Archivo binario con los elementos de un terreno
Genere un archivo binario que contenga los elementos de un terreno.
FileStream fs = new FileStream(@"R:\ej\input.txt", FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
int[] a = new int[10];
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("Leer datos:");
a[i] = int.Parse(Console.ReadLine());
bw.Write(a[i].ToString());
}
Console.ReadKey();
bw.Close();