NextGenSoftware.ErrorHandling
2.0.4
dotnet add package NextGenSoftware.ErrorHandling --version 2.0.4
NuGet\Install-Package NextGenSoftware.ErrorHandling -Version 2.0.4
<PackageReference Include="NextGenSoftware.ErrorHandling" Version="2.0.4" />
<PackageVersion Include="NextGenSoftware.ErrorHandling" Version="2.0.4" />
<PackageReference Include="NextGenSoftware.ErrorHandling" />
paket add NextGenSoftware.ErrorHandling --version 2.0.4
#r "nuget: NextGenSoftware.ErrorHandling, 2.0.4"
#:package NextGenSoftware.ErrorHandling@2.0.4
#addin nuget:?package=NextGenSoftware.ErrorHandling&version=2.0.4
#tool nuget:?package=NextGenSoftware.ErrorHandling&version=2.0.4
NextGenSoftware.ErrorHandling
Structured error handling and the OASISResult pattern — the error propagation backbone of the OASIS Omniverse ecosystem (HoloNET, the OASIS API, STAR ODK, OurWorld).
Part of the OASIS Omniverse v2.0 Reboot. Visit oasisomniverse.one.
Features
OASISResult<T>— null-safe async result type; return success or failure without throwing across API boundariesOASISResult(non-generic) for void operations- Structured exception wrappers with rich context metadata
- Consistent error propagation across all 85+ OASIS API packages and HoloNET
- Integrates with
NextGenSoftware.Logging - Multi-target: .NET 8, .NET 9, .NET 10
Installation
dotnet add package NextGenSoftware.ErrorHandling
Quick Start
using NextGenSoftware.ErrorHandling;
public async Task<OASISResult<MyData>> LoadDataAsync(string id)
{
var result = new OASISResult<MyData>();
try
{
result.Result = await _db.GetAsync(id);
}
catch (Exception ex)
{
result.Exception = ex;
result.Message = $"Failed to load {id}.";
result.IsError = true;
}
return result;
}
// Call site
var result = await myService.LoadDataAsync("abc123");
if (result.IsError)
Console.WriteLine($"Error: {result.Message}");
else
Process(result.Result);
OASISResult Properties
| Property | Type | Description |
|---|---|---|
Result |
T |
The returned value on success |
IsError |
bool |
true if the operation failed |
IsWarning |
bool |
true if a non-fatal warning occurred |
Message |
string |
Human-readable error/success message |
Exception |
Exception |
Underlying exception if any |
InnerMessages |
List<string> |
Accumulated sub-messages from nested calls |
MIT — Copyright (c) NextGen Software Ltd 2019 - 2026
| 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 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 | 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.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on NextGenSoftware.ErrorHandling:
| Package | Downloads |
|---|---|
|
NextGenSoftware.CLI.Engine
A feature-rich CLI engine providing colour output, animations, progress bars, ASCII art, working-message spinners, formatted tables, and more — the CLI backbone of the entire OASIS Omniverse ecosystem. Used internally by HoloNET, the OASIS API (85+ packages), STAR ODK, and OurWorld. Easy to drop into any .NET app needing rich CLI output. Part of the OASIS Omniverse at https://oasisomniverse.one -- Source: https://github.com/NextGenSoftwareUK/NextGenSoftware-Libraries |
|
|
NextGenSoftware.Logging
A flexible, pluggable logging library with a clean ILogger/ILogProvider abstraction used across the entire NextGen Software ecosystem (OASIS, HoloNET, STAR). Supports multiple simultaneous log providers -- console, file, NLog, and custom implementations. Configurable log levels, formatting, and async log dispatch. Part of the OASIS Omniverse ecosystem at https://oasisomniverse.one -- Source: https://github.com/NextGenSoftwareUK/NextGenSoftware-Libraries |
|
|
NextGenSoftware.WebSocket
A lightweight, high-performance WebSocket client library with a clean event-driven API (OnConnected, OnDisconnected, OnDataReceived, OnError, and more). Used internally by HoloNET (Holochain .NET client) and the OASIS ecosystem. Supports .NET 8, .NET 9, and .NET 10. Easy to embed in any .NET app needing reliable, long-lived WebSocket connections. Part of the OASIS Omniverse ecosystem at https://oasisomniverse.one -- Source: https://github.com/NextGenSoftwareUK/NextGenSoftware-Libraries |
|
|
NextGenSoftware.OASIS.Common
The shared foundation layer for the entire OASIS ecosystem -- OASISResult/OASISResultCollectionWithPagination result types, shared constants, extension methods, cross-cutting error handling, and utility helpers relied upon by every other OASIS NuGet package. A transitive dependency of all OASIS packages. Part of the OASIS Omniverse at https://oasisomniverse.one |
GitHub repositories
This package is not used by any popular GitHub repositories.
## v2.0.4
- NextGenSoftware.Logging: file logging no longer slows down as log files accumulate (it listed and checked every file in the log folder on every line, so apps that log a lot - like HoloNET, which logs on its WebSocket thread - timed out); writes are serialised in-process; only MaxLogFiles (default 50) log files are kept. Faulty log providers can't break logging (snapshot of providers).
- NextGenSoftware.WebSocket: the receive loop runs on the thread pool (it inherited the caller's SynchronizationContext, so WPF/WinForms apps handled every message on the UI thread and froze on any blocking call); TrySendRawDataAsync reports send failures instead of throwing.
- All NextGenSoftware libraries bumped to 2.0.4 together.
---
## v2.0.1 — OASIS Omniverse Reboot (2026)
Part of the biggest NextGen Software release in years! The full OASIS Omniverse ecosystem — powering Our World, the OASIS API (85+ NuGet packages), HoloNET (Holochain .NET client), STAR ODK, and more — has been fully relaunched and rebranded at https://oasisomniverse.one/
After years of continuous development this is the first major v2 release, representing a complete overhaul and modernisation of the entire NextGen Software foundation.
### What's New in v2.0.1
- Added .NET 10 support: now multi-targeting net8.0, net9.0, and net10.0 for future-proof compatibility
- Copyright updated: NextGen Software Ltd 2019 - 2026
- Part of the unified OASIS Omniverse ecosystem at https://oasisomniverse.one/
- Significantly improved error handling, robustness, and API consistency
- Full alignment with the new OASIS Omniverse architecture (WEB4 through WEB10 API tiers)
- All packages updated with correct metadata, repository URLs, and project URLs
- Multiple bug fixes and stability improvements
- Open source under MIT licence — https://github.com/NextGenSoftwareUK/NextGenSoftware-Libraries