---
title: ErrorDetail
summary: API reference for ErrorDetail.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Services.Printing
reference_type: package
---

# ErrorDetail

`ErrorDetail` is the library's simple error container. `ReportBase` stores instances of this type in its `Errors` collection when rendering or distribution logic encounters exceptions.

## Purpose
- Carry a human-readable error message.
- Optionally carry the original exception associated with that message.

## Context
- Namespace: `SAIF.Services.Printing.Reporting`
- Assembly/package: `SAIF.Services.Printing`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Exception` | `Public ReadOnly Property Exception() As Exception` | Returns the stored exception instance, when one was supplied. |
| `Message` | `Public ReadOnly Property Message() As String` | Returns the stored error message text. |
| `New` | `Public Sub New(message As String, exception As Exception)` | Creates an error record with both message and exception data. |
| `New` | `Public Sub New(message As String)` | Creates an error record that carries message text only. |

## Behavioral notes
- `ReportBase.Render` and `ReportBase.Distribute` add `ErrorDetail` entries instead of re-throwing exceptions directly.

## Constraints and usage notes
- The type is immutable after construction because both public properties are read-only.

## Sources
- `Services\SAIF.Services.Printing\Reporting\ErrorDetail.vb`
- `Services\SAIF.Services.Printing\Reporting\ReportBase.vb`
