MyDevTime.ExceptionsWithReturnCode
0.1.1
dotnet add package MyDevTime.ExceptionsWithReturnCode --version 0.1.1
NuGet\Install-Package MyDevTime.ExceptionsWithReturnCode -Version 0.1.1
<PackageReference Include="MyDevTime.ExceptionsWithReturnCode" Version="0.1.1" />
<PackageVersion Include="MyDevTime.ExceptionsWithReturnCode" Version="0.1.1" />
<PackageReference Include="MyDevTime.ExceptionsWithReturnCode" />
paket add MyDevTime.ExceptionsWithReturnCode --version 0.1.1
#r "nuget: MyDevTime.ExceptionsWithReturnCode, 0.1.1"
#:package MyDevTime.ExceptionsWithReturnCode@0.1.1
#addin nuget:?package=MyDevTime.ExceptionsWithReturnCode&version=0.1.1
#tool nuget:?package=MyDevTime.ExceptionsWithReturnCode&version=0.1.1
ExceptionsWithReturnCode
ExceptionsWithReturnCode is a simple library that extends the standard exception handling in .NET by adding support for a return code (int). This allows developers to associate specific error codes with exceptions, making error handling more structured and informative.
Features
- Extend Default Exceptions: Wrap standard exceptions or create custom exceptions with a return code.
- Custom Return Codes: Associate meaningful return codes (e.g., HTTP status codes, internal error codes) with exceptions.
- Easy to Use: Familiar exception handling pattern with added functionality for return codes.
- Flexible and Lightweight: Use in both small and large projects to improve error handling without added complexity.
Installation
You can install the package via NuGet Package Manager or by using the .NET CLI:
NuGet Package Manager:
Install-Package MyDevTime.ExceptionsWithReturnCode
.NET CLI:
dotnet add package MyDevTime.ExceptionsWithReturnCode
Usage
ExceptionsWithReturnCode introduces the ExceptionWithReturnCode class that extends the Exception class with an additional ReturnCode property. This makes it simple to throw exceptions with return codes and catch them where needed.
Example Usage
using MyDevTime.ExceptionsWithReturnCode;
public class MyService
{
public void Process()
{
try
{
// Some logic that might throw an exception
throw new ExceptionWithReturnCode("An error occurred", 500);
}
catch (ExceptionWithReturnCode ex)
{
Console.WriteLine($"Error: {ex.Message}, Return Code: {ex.ReturnCode}");
// Handle error with return code
}
}
}
Custom Exceptions
You can also create your own exceptions that inherit from ExceptionWithReturnCode.
using MyDevTime.ExceptionsWithReturnCode;
public class MyCustomException : ExceptionWithReturnCode
{
public MyCustomException(string message, int returnCode) : base(message, returnCode)
{
}
}
Accessing the Return Code
try
{
// Some logic that might throw an exception
throw new ExceptionWithReturnCode("Database error", 1001);
}
catch (ExceptionWithReturnCode ex)
{
Console.WriteLine($"Caught exception with return code: {ex.ReturnCode}");
// Log or handle the return code
}
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Support
If you encounter any issues or have questions, feel free to open an issue on the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.