Для обработки исключений при работе с БД я создал собственное исключение:
Применение исключения при создании новой записи
Таким образом я использую свое исключение для определения места возникновения исключительной ситуации.
У меня возник вопрос... Как мне добавить в свое исключение исходное исключение?
:
[Serializable]
public class SQLEntityException : ApplicationException
{
public SQLEntityException() { }
public SQLEntityException(string message) : base(message) { }
public SQLEntityException(string message, Exception ex) : base(message) { }
protected SQLEntityException(System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext contex)
: base(info, contex) { }
//Код ошибки
public int SQLCENativeError { get; set; }
//Название таблицы при работе с которой возникает исключение
public string SQLTableName { get; set; }
//Идентификатор строки в таблице (при переименовании или удалении)
public int SQLEntityID { get; set; }
//Значение параметра (при переименовании или удалении)
public string SQLEntityName { get; set; }
//Тип операции (добавление, удаление, переименование)
public DBOperationType OperationType { get; set; }
}
:
public override int CreateRecord(MainTableStruct mdbs)
{
int i = -1;
SqlCeCommand _cmd = new SqlCeCommand();
_cmd = (SqlCeCommand)GetSqlCommand(mdbs);
if (SQLCeCon.State == ConnectionState.Closed)
{
SQLCeCon.Open();
}
try
{
i = _cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
ExceptionHandler.SQLEntityException exc = new ExceptionHandler.SQLEntityException();
exc.SQLCENativeError = ((SqlCeException)ex).NativeError;
exc.SQLTableName = "MainTableSqlCe";
exc.SQLEntityID = -1;
exc.SQLEntityName = "value";
exc.OperationType = ExceptionHandler.DBOperationType.AddToDB;
throw exc;
}
finally
{
SQLCeCon.Close();
}
return i;
}
У меня возник вопрос... Как мне добавить в свое исключение исходное исключение?