public void GrabarError(Exception exp, string sNombreClase)
{
//Genera un log de errores.
string sError;
System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(exp, true);
//Fecha
sError = DateTime.Now.ToString() + " - "
//Nombre de la clase
sError+= sNombreClase + " - "
//Nombre del metodo
sError+= trace.GetFrame(trace.FrameCount - 1).GetMethod().Name;
//Descripcion del error
sError+= " - Error: " + exp.Message.ToString();
//Linea del error
sError += " - Línea: " + trace.GetFrame(trace.FrameCount - 1).GetFileLineNumber().ToString();
//Reemplaza los saltos de linea por espacios.
sError = sError.Replace(Environment.NewLine, " ");
/////luego se graba el archivo en un txt.
}
Clase Procesos
{
try
{
...
}
catch (Exception exp)
{
objClaseError.GrabarError(exp)
}
}
Clase Error
{
GrabarError(Exception exp)
{
string sError;
sError = exp.TargetSite.DeclaringType.Name; (aca me devuelve la palabra "String")
sError = exp.TargetSite.ToString(); (aca me devuelve "System.String InternalSubStringWithChecks(Int32, Int32, Boolean)")
}
}