Hier was feines:
Nein ich will keine loesung. Nur zeigen wie man machmal unbedarfte schreibungen, durch mal denkt:
[SqlException (0x80131904): Transaction (Process ID 59) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +212
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +245
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2811
System.Data.SqlClient.SqlDataReader.HasMoreRows() +290
System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) +278
System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) +198
System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +295
System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +721
System.Data.Common.LoadAdapter.FillFromReader(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +28
System.Data.DataTable.Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler) +263
ComunesBLL.DevuelveDT(String sql) +210
Modulos_HPPZEmbedded.Page_Load(Object sender, EventArgs e) +49
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
System.Web.UI.Control.OnLoad(EventArgs e) +132
System.Web.UI.Control.LoadRecursive() +66
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428
--------------------------------------------------------------------------------
Información de versión: Versión de Microsoft .NET Framework:2.0.50727.3623; Versión ASP.NET:2.0.50727.3082
Gruesse
Sascha
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Was meinst du mit diesem Satz "Nur zeigen wie man machmal unbedarfte schreibungen, durch mal denkt" ?
Was in aller Welt willst Du und damit schon wieder sagen?
Und was ist spektakulär an der Fehlerdarstellung?
Nichts besonders. Nur manchmal wundere ich mich halt. Wie das dann Leute ausrasten wegen sowas als das hier:
public static void ShowSqlException(string connectionString)
{
string queryString = "EXECUTE NonExistantStoredProcedure";
StringBuilder errorMessages = new StringBuilder();
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
for (int i = 0; i {
errorMessages.Append("Index #" + i + "\n" +
"Message: " + ex.Errors[i].Message + "\n" +
"LineNumber: " + ex.Errors[i].LineNumber + "\n" +
"Source: " + ex.Errors[i].Source + "\n" +
"Procedure: " + ex.Errors[i].Procedure + "\n");
}
Console.WriteLine(errorMessages.ToString());
}
}
}
Gruss
Sascha
Ich wundere mich vor allem warum Du darum so ein Trara machst. Dein Beispiel ist eine ganz normales Exception-Handling in Java. Man könnte sich vielleicht noch drüber streiten ob das Beispiel sonderlich elegant ist...
Weil es mir manchmal spass macht. :-)
Gruss
Sascha