// VisorTexto.cs
// Versión 1.1
// Fecha: 23-Enero-2003
// Juan Manuel Cueva Lovelle
// Ejemplo de manejo de excepciones
// Visualiza un fichero de texto pasado en la línea de comandos

using System;
using System.IO;

namespace Archivos
{

    /// <summary>
    /// Visualiza ficheros de texto. Ejemplo de uso de excepciones
    /// </summary>
    public class VisorTexto
    {  
        static void Main(string[] args)
        {
            try
            {
                if (args.Length < 1)
                    throw (new ArgumentNullException());

                String nombreFichero = args[0];
                StreamReader contenido =  new StreamReader(nombreFichero, true);
                Console.WriteLine("Contenido del archivo {0}:\n{1}", nombreFichero, contenido.ReadToEnd());
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("Error: Fichero {0} no encontrado", args[0]);
            }
            catch (ArgumentNullException)
            {
                Console.WriteLine("Formato correcto de uso:");
                Console.WriteLine("\n\t VisorTexto <archivo>");
            }
            catch(Exception e)
            {
                Console.WriteLine("Se atrapó la excepción: "+e);
            }
            finally
            {
                Console.WriteLine("\nGracias por usar VisorTexto");
                Console.WriteLine("Versión 1.1, 23-Enero-2003");
                Console.WriteLine("Autor: Juan Manuel Cueva Lovelle");
                Console.WriteLine("http://www.di.uniovi.es/~cueva");
                Console.ReadLine();
            }

        }
    }
}