JLib.Exceptions
0.11.2
Prefix Reserved
dotnet add package JLib.Exceptions --version 0.11.2
NuGet\Install-Package JLib.Exceptions -Version 0.11.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="JLib.Exceptions" Version="0.11.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="JLib.Exceptions" Version="0.11.2" />
<PackageReference Include="JLib.Exceptions" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add JLib.Exceptions --version 0.11.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: JLib.Exceptions, 0.11.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package JLib.Exceptions@0.11.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=JLib.Exceptions&version=0.11.2
#tool nuget:?package=JLib.Exceptions&version=0.11.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
JLib.Exceptions
Provides a standardized way to create, aggregate and throw exceptions.
Issues with the current implementation
- The ExceptionBuilder does not have any way to remove children if they have no content - leading to unneccessary memory allocations
- Solution: The ExceptionBuilder could derive from IDisposable. When disposed, it will freeze and, if empty, remove itself from the parent
- The JLibException and JLibAggregateException sound similar but represent different UseCases:
- Exception:
- JLibException: An exception thrown by the JLib itself
- JLibAggregateException: extended aggregate exception which can be used by everyone, optimized for better readabillity
- Solutions:
- Delete the JLibAggregateException and move the utility to an Extension Method
- Drawback: the ToString has to be overridden manually to get the improved message
- Rename JlibAggregateException to ExtendedAggregateException
- Drawback: The name is long and not very descriptive
- Discard the JLibException as base-class for all exceptions thrown by the JLib
- Drawback: Exceptions from the JLib can no longer be easily distinguished from other exceptions
- is this even a reasonable usecase?
- Drawback: Exceptions from the JLib can no longer be easily distinguished from other exceptions
- Delete the JLibAggregateException and move the utility to an Extension Method
- Exception:
- the JLibAggregateException.Message does not behave like the default (containing only the message) but instead contains the whole tree
- Solutions:
- move the tree functionality to the ToString method
- Solutions:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- JLib.Helper (>= 0.11.2)
-
net9.0
- JLib.Helper (>= 0.11.2)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on JLib.Exceptions:
| Package | Downloads |
|---|---|
|
JLib.ValueTypes
Package Description |
|
|
JLib.Reflection
Package Description |
|
|
JLib.DataProvider
Package Description |
|
|
JLib
Metapackage for all JLIb packages |
|
|
JLib.AspNetCore
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.11.2 | 618 | 5/12/2025 |
| 0.11.1 | 431 | 2/21/2025 |
| 0.11.0 | 438 | 2/19/2025 |
| 0.10.0 | 452 | 2/17/2025 |
| 0.9.5 | 760 | 1/30/2025 |
| 0.9.4 | 622 | 1/29/2025 |
| 0.9.3 | 653 | 1/28/2025 |
| 0.9.2 | 612 | 1/22/2025 |
| 0.9.1 | 639 | 1/22/2025 |
| 0.9.0 | 719 | 1/20/2025 |
| 0.8.8 | 928 | 10/18/2024 |
| 0.8.7 | 679 | 10/18/2024 |
| 0.8.6 | 632 | 10/17/2024 |
| 0.8.5 | 698 | 9/18/2024 |
| 0.8.4 | 678 | 9/18/2024 |
| 0.8.3 | 761 | 9/11/2024 |
| 0.8.1 | 928 | 9/2/2024 |
| 0.8.0 | 685 | 8/28/2024 |
| 0.7.6 | 701 | 8/27/2024 |
| 0.7.5 | 719 | 8/27/2024 |
| 0.7.4 | 732 | 8/27/2024 |
| 0.7.3 | 698 | 8/27/2024 |
| 0.7.1 | 645 | 7/24/2024 |
| 0.7.0 | 943 | 7/23/2024 |
| 0.6.2 | 917 | 4/10/2024 |
| 0.6.1 | 668 | 3/15/2024 |
| 0.6.0 | 657 | 3/15/2024 |
| 0.5.0 | 710 | 3/14/2024 |
| 0.4.5 | 699 | 3/13/2024 |
| 0.4.4 | 695 | 3/12/2024 |
| 0.4.3 | 749 | 3/12/2024 |
| 0.4.2 | 751 | 3/7/2024 |
| 0.4.1 | 717 | 3/7/2024 |
| 0.4.0 | 704 | 3/6/2024 |
| 0.3.0 | 705 | 2/29/2024 |
| 0.2.0 | 680 | 2/14/2024 |