Sparkdo.ExceptionHandling
1.0.1
.NET 10.0
This package targets .NET 10.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Sparkdo.ExceptionHandling --version 1.0.1
NuGet\Install-Package Sparkdo.ExceptionHandling -Version 1.0.1
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="Sparkdo.ExceptionHandling" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.ExceptionHandling" Version="1.0.1" />
<PackageReference Include="Sparkdo.ExceptionHandling" />
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 Sparkdo.ExceptionHandling --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sparkdo.ExceptionHandling, 1.0.1"
#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 Sparkdo.ExceptionHandling@1.0.1
#: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=Sparkdo.ExceptionHandling&version=1.0.1
#tool nuget:?package=Sparkdo.ExceptionHandling&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sparkdo.ExceptionHandling
Sparkdo 异常处理库,提供统一的异常处理机制和错误信息转换功能。
功能特性
- 统一异常通知机制
- 异常到错误信息的转换
- 本地化异常消息支持
- 与 ASP.NET Core 集成
- 支持自定义异常订阅者
- 敏感信息控制
安装
<PackageReference Include="Sparkdo.ExceptionHandling" Version="x.x.x" />
核心组件
DefaultExceptionToErrorInfoConverter
默认异常到错误信息转换器,负责将异常对象转换为标准化的错误信息:
- 支持敏感信息控制
- 本地化错误消息
- 处理各种特定异常类型
- 可扩展的转换逻辑
SparkdoExceptionHandlingModule
异常处理模块,负责配置异常处理相关服务:
- 注册异常转换器
- 配置本地化资源
- 集成虚拟文件系统
IExceptionNotifier & DefaultExceptionNotifier
异常通知器接口及默认实现,提供异常通知机制:
- 支持异常订阅者模式
- 可扩展的订阅者机制
- 统一的异常通知流程
扩展性
该库提供了完整的异常处理功能实现,可以通过以下方式扩展:
- 实现自定义的
IExceptionSubscriber来添加特定的异常处理逻辑 - 实现自定义的
IExceptionToErrorInfoConverter来添加特定的异常转换逻辑 - 通过配置
ExceptionHandlingOptions来自定义异常处理行为
代码结构说明
本项目包含以下主要组件:
异常转换器
IExceptionToErrorInfoConverter: 异常到错误信息转换器接口DefaultExceptionToErrorInfoConverter: 默认异常到错误信息转换器实现
异常通知器
IExceptionNotifier: 异常通知器接口DefaultExceptionNotifier: 默认异常通知器实现NullExceptionNotifier: 空异常通知器实现
异常订阅者
IExceptionSubscriber: 异常订阅者接口ExceptionSubscriber: 异常订阅者抽象基类
配置
SparkdoExceptionHandlingOptions: 异常处理配置选项SparkdoExceptionHandlingModule: 异常处理模块配置
资源
SparkdoExceptionHandlingResource: 异常处理资源- 本地化资源文件
所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。
| 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 was computed. 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 was computed. 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 is compatible. 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.Localization (>= 1.0.1)
- Sparkdo.Security (>= 1.0.1)
- Sparkdo.Validation.Abstractions (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
- System.Runtime.Loader (>= 4.3.0)
- System.Text.Json (>= 10.0.0)
-
net10.0
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.Localization (>= 1.0.1)
- Sparkdo.Security (>= 1.0.1)
- Sparkdo.Validation.Abstractions (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Sparkdo.ExceptionHandling:
| Package | Downloads |
|---|---|
|
Sparkdo.Ddd.Domain
Sparkdo DDD 领域模型库,提供领域驱动设计的核心组件实现 |
|
|
Sparkdo.UI
library for the Sparkdo framework |
|
|
Sparkdo.AspNetCore
Sparkdo ASP.NET Core 集成库,提供与 ASP.NET Core 框架深度集成的功能实现 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2-preview.1 | 151 | 12/4/2025 |
| 1.0.1 | 838 | 11/27/2025 |
| 1.0.0 | 817 | 11/25/2025 |
| 1.0.0-preview.5 | 96 | 10/24/2025 |