-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Background
This issue tracks the implementation of proper serialization support for custom exceptions in the codebase.
Requirement
Custom exceptions like DatabaseOperationException
should implement serialization support for scenarios where exceptions cross application boundaries (between processes, app domains, or during remote calls).
Implementation Details
For each custom exception class:
- Add the
[Serializable]
attribute - Add protected constructor for
SerializationInfo
andStreamingContext
Example implementation:
[Serializable]
public class DatabaseOperationException : Exception
{
public DatabaseOperationException() : base() { }
public DatabaseOperationException(string msg) : base(msg) { }
public DatabaseOperationException(string message, Exception innerException)
: base(message, innerException) { }
protected DatabaseOperationException(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context
) : base(info, context)
{
}
}
References
- Discussed in PR: feat: implement soft delete for users and roles #11 (comment)
- File: src/Core/Exceptions/DatabaseOperationException.cs
- Microsoft guidelines: CA1032, CA2237
Metadata
Metadata
Assignees
Labels
No labels