我想在windows窗體應用程序中創建自己的異常。我正試圖將一些數據添加到數據庫中。如何在c中創建自定義異常#
代碼:
try
{
string insertData = string.Format("INSERT INTO " + constants.PIZZABROADCASTTABLE +
" VALUES(@starttime,@endtime,@lastupdatetime,@applicationname)");
sqlCommand = new SqlCommand(insertData, databaseConnectivity.connection);
sqlCommand.Parameters.AddWithValue("@starttime", broadcastStartDateTime);
sqlCommand.Parameters.AddWithValue("@endtime", broadcastEndDateTime);
sqlCommand.Parameters.AddWithValue("@lastuptime", currentDateTime);
sqlCommand.Parameters.AddWithValue("@applicationname", txtApplicationName.Text);
sqlCommand.ExecuteNonQuery();
}
catch (DataBaseException ex)
{
MessageBox.Show(ex.Message);
}
在這裏,我已經創建了自己的異常。這裏我已經給出了標量變量@lastuptime
而不是@lastupdatetime
來捕獲SqlException。
這是我的DatabaseException類。
class DataBaseException : Exception
{
public DataBaseException(string Message)
: base(Message)
{
}
public DataBaseException(string message, Exception innerException)
: base(message, innerException)
{
}
}
這裏同時運行的程序它顯示在
sqlCommand.ExecuteQuery();
錯誤,但它並沒有捕捉到錯誤並顯示在消息框中的文本。我知道我做錯了一些事情。我不知道我創建的自定義異常處理是對還是錯。
任何人都可以幫助我嗎?提前致謝。
您還應該將您的Exception標記爲[Serializable]並添加兩個更多的構造函數(一個用於序列化的非參數構造函數,一個帶有SerializationInfo和StreamingContext的構造函數作爲用於自定義序列化的參數)。 – Daniel