Desidero ottenere il numero di riga del codice che causa l'errore. Per esempio;Come ottenere il numero di riga di errore del codice utilizzando try-catch
static void Main(string[] args)
{
using (SqlConnection conn = new SqlConnection(bagcum))
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "DONTINSERT into GIVEMEERROR(CamNo,Statu) values (" + 23 + "," + 0 + ")";
conn.Open();
int n = cmd.ExecuteNonQuery();
}
}
così come sappiamo che il codice non funziona, si getterà eccezione Numero di riga di codice che è:
int n = cmd.ExecuteNonQuery();
Così come si può ottenere che il numero di riga di utilizzare try-catch
? Ho provato ad utilizzare una classe StackTrace
ma dà numero di riga come 0:
static void Main(string[] args)
{
try
{
using (SqlConnection conn = new SqlConnection(bagcum))
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "DONTINSERT into GIVEMEERROR(CamNo,Statu) values (" + 23 + "," + 0 + ")";
conn.Open();
int n = cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
Console.WriteLine("Line: " + trace.GetFrame(0).GetFileLineNumber());
}
}
USCITA:
Line:0
Aggiornamento:
Solitamente linea di errore di codice è 22 quindi devo ottenere che il numero di .
Grazie
Se siete in modalità 'RELEASE', il numero della linea (tra l'altro) non è più in stacktrace. Il modo più semplice per compilare la modalità 'DEBUG'. Se ancora non funziona, controlla se hai informazioni complete su Debug nelle proprietà del progetto * Avanzate \ Informazioni Debug *. –
@ JiBéDoublevé è in modalità debug, Ed è piena di debug –
Sono i tuoi file PDB nella stessa directory come tutti gli altri file? –