Exemple #1
0
        static void Main(string[] args)
        {
            try
            {
                OtraClase otraClase = new OtraClase();
                otraClase.MetodoInstancia(); //provoco la excepción.
            }
            catch (MiException miEx)         //se produce una excepción del tipo MiExcepcion
            {
                Console.WriteLine(miEx.Message);
                //Console.WriteLine(miEx.InnerException); //SI DEJO ESTO MUESTRA TODO EL PATH DE LOS ERRORES.
                Console.WriteLine(miEx.InnerException.Message);


                Exception ex = miEx.InnerException;
                Console.WriteLine($"MENSAJE: {ex.Message}\nEN: {ex.Source}");//Muestro solo la InnerException.



                //SI TENEMOS MUCHAS INNEREXCEPTIONS
                //determinamos si pertenecen a la misma instancia
                //verifico que no sea null en esta caso...
                //if (!Object.ReferenceEquals(miEx,null))
                //{
                //    Exception ex = miEx.InnerException;//guardo la innerException
                //    do
                //    {
                //        Console.WriteLine(ex.Message);
                //        ex = ex.InnerException;

                //    } while (!Object.ReferenceEquals(ex,null));//Hasta que no se llamen a todos los Inner, no termina el bucle.
                //}
            }
            Console.ReadKey();
        }
Exemple #2
0
        public void TestMetodoInstancia()
        {
            //Arrange
            OtraClase otra = new OtraClase();

            //Act
            otra.MetodoInstancia();
            //Assert
        }
        static void Main(string[] args)
        {
            Console.Title = "Ejercicio Nro 54";
            string auxStackTrace = String.Empty;
            string path          = AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("yyyyMMdd-HHmm");

            try
            {
                OtraClase auxClase = new OtraClase();

                auxClase.MetodoInstancia();
            }
            catch (Exception e)
            {
                try
                {
                    while (e != null)
                    {
                        //Console.WriteLine(e.Message);

                        auxStackTrace += e.StackTrace.ToString() + "\n";

                        e = e.InnerException;
                    }

                    if (ArchivoTexto.Guardar(path, auxStackTrace))
                    {
                        Console.WriteLine("Archivo guardado correctamente");
                    }
                }
                catch (Exception error)
                {
                    Console.WriteLine(error.Message);
                }
            }
            finally
            {
                Console.WriteLine("Presione una tecla para continuar...");
                Console.ReadKey();
                Console.Clear();

                Console.WriteLine("Lista de stacktrace traida desde archivo: ");

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine(ArchivoTexto.Leer(path));
                Console.ResetColor();
                Console.ReadKey();
            }
        }
        static void Main(string[] args)
        {
            try
            {
                OtraClase oC = new OtraClase();
                oC.MetodoInstancia();
            }
            catch (MiException e)
            {
                Console.WriteLine(e.Message);

                Exception ex = e.InnerException;
                while (ex != null)
                {
                    Console.WriteLine(ex.Message);
                    ex = ex.InnerException;
                }
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            try
            {
                OtraClase obj = new OtraClase();
                obj.MetodoInstancia();
            }catch (MiExcepcion ex)
            {
                Console.WriteLine(ex.Message);
                Exception inners;
                inners = ex.InnerException;
                while (inners != null)
                {
                    Console.WriteLine(inners.Message);
                    inners = inners.InnerException;
                }
            }

            Console.ReadKey();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            DateTime fecha         = DateTime.Now;
            string   nombreArchivo = fecha.ToString("yyyyMMdd-hhmm") + ".txt";

            try
            {
                OtraClase obj = new OtraClase();
                obj.MetodoInstancia();
            }
            catch (Exception ex)
            {
                ArchivoTexto.Guardar(nombreArchivo, ex.Message);
                while (ex.InnerException != null)
                {
                    ex = ex.InnerException;
                    ArchivoTexto.Guardar(nombreArchivo, ex.Message);
                }
            }
            Console.WriteLine(ArchivoTexto.Leer(nombreArchivo));
            Console.ReadKey();
        }
Exemple #7
0
        static void Main(string[] args)
        {
            //STRING
            Mensaje <string> tipoTexto = new Mensaje <string>();

            tipoTexto.MiAtributo = "Hola";

            Console.WriteLine(tipoTexto.MiAtributo);
            Console.WriteLine(tipoTexto.ToString());

            //MICLASE
            Mensaje <MiClase> tipoMio = new Mensaje <MiClase>();

            tipoMio.MiAtributo = new MiClase();

            Console.WriteLine(tipoMio.MiAtributo);
            Console.WriteLine(tipoMio.ToString());

            Console.ReadLine();

            //STRING - INT
            Mensajero <string, int> tipoTextoEntero = new Mensajero <string, int>();

            tipoTextoEntero.miAtr1 = "cadena";
            tipoTextoEntero.miAtr2 = 3;

            //CHAR - MICLASE
            Mensajero <char, MiClase> tipoLetraMio = new Mensajero <char, MiClase>();

            tipoLetraMio.miAtr1 = 'L';
            tipoLetraMio.miAtr2 = new MiClase();

            Console.WriteLine(tipoTextoEntero.ToString());
            Console.WriteLine(tipoLetraMio.ToString());

            Console.ReadLine();

            //RESTRICTIVA
            Restrictiva <MiClase> res = new Restrictiva <MiClase>();

            res.miLista.Add(new MiClase());

            Console.WriteLine(res.ToString());

            //ERROR, NO ES DE TIPO MICLASE
            //Restrictiva<string> res2 = new Restrictiva<string>();

            //DERIVADA
            Restrictiva <MiClase> res2 = new Restrictiva <MiClase>();

            res2.miLista.Add(new MiClaseDerivada());

            Console.WriteLine(res2.ToString());

            //TIPOS CON RESTRICCIONES
            RestrictivaVarios <MiClase, MiClaseDerivada> res3 = new RestrictivaVarios <MiClase, MiClaseDerivada>();

            //TIPO CON MULTIPLES RESTRICCIONES
            RestrictivaMultiple <MiClaseDerivada> res4 = new RestrictivaMultiple <MiClaseDerivada>();

            //ERROR, NO CUMPLE CON RESTRICCIONES
            //RestrictivaMultiple<MiClaseSinDefecto> res5 = new RestrictivaMultiple<MiClaseSinDefecto>();

            //RESTRICTIVA CON UNMANAGED
            RestrictivaUnmanaged <int> res5 = new RestrictivaUnmanaged <int>();

            RestrictivaUnmanaged <ConsoleColor> res6 = new RestrictivaUnmanaged <ConsoleColor>();

            Console.WriteLine(res5.ToString());
            Console.WriteLine(res6.ToString());

            //ERROR, NO ES UN TIPO UNMANAGED
            //RestrictivaUnmanaged<string> res7 = new RestrictivaUnmanaged<string>();

            Console.ReadLine();

            //METODOS GENERICS
            OtraClase oc = new OtraClase();

            //ESTATICO Y RESTRICTIVO (CLASEDERIVADA)
            MiClaseDerivada mcd       = new MiClaseDerivada();
            string          parametro = "hola, que tal?";

            Console.WriteLine(OtraClase.MetodoEstatico <MiClaseDerivada>(mcd, parametro));

            Console.WriteLine(OtraClase.MetodoEstatico(mcd, parametro));

            //ERROR, NO CUMPLE CON RESTRICCION
            //Console.WriteLine(OtraClase.MetodoEstatico(3, "hola"));

            //DE INSTANCIA, SIN RESTRICCIONES
            oc.MetodoInstancia <int>(3);

            oc.MetodoInstancia <string>("cadena");

            oc.MetodoInstancia <MiClase>(mcd);

            oc.MetodoInstancia(88.9f);

            //DE INSTANCIA, CON RETORNO Y RESTRICCIONES
            MiClaseDerivada retorno;

            retorno = oc.OtroMetodo <MiClaseDerivada, MiClase>(mcd, new MiClase());

            //ERROR, NO CUMPLE CON RESTRICCION
            //oc.OtroMetodo<MiClaseSinDefecto, MiClase>(new MiClaseSinDefecto(0), new MiClase());

            Console.ReadLine();
        }
        public void Test_OtraClase()
        {
            OtraClase auxClase = new OtraClase();

            auxClase.MetodoInstancia();
        }