2.5 KiB
2.5 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
2026-04-16T12:01:09.381744+00:00 | zai-org/GLM-5-FP8 | 1 | fdc72f1eddeb3763 |
Documentation: OutOfDataException
1. Purpose
This module defines a custom exception class, OutOfDataException, within the DTS.Common.Exceptions namespace. It is designed to signal that a read operation has attempted to access data beyond the available bounds of a stream or buffer. It extends the standard System.Exception class by capturing the specific location (Index) where the failure occurred, facilitating easier debugging of data parsing or deserialization errors.
2. Public Interface
Class: OutOfDataException
Inherits from: System.Exception
Constructor
public OutOfDataException(string ex, long index)
Initializes a new instance of the OutOfDataException class.
string ex: The message that describes the error (passed to the baseExceptionclass).long index: The position in the data stream or buffer where the out-of-bounds access occurred.
Properties
public long Index { get; private set; }
Gets the numerical index where the data exhaustion was detected. This property is read-only from outside the class.
3. Invariants
- Immutability of Index: Once an instance of
OutOfDataExceptionis created, theIndexproperty cannot be modified externally (the setter isprivate). - Base Type Guarantee: The type always behaves as a standard CLR exception regarding stack traces and HResult, as it inherits directly from
System.Exception.
4. Dependencies
- Dependencies: This module depends on
System(specificallySystem.Exception). - Dependents: Unknown from the source file alone, but intended for use by data readers, parsers, or stream processors within the
DTScodebase.
5. Gotchas
- Misleading Parameter Name: The constructor argument
string exuses a naming convention typically reserved for an inner exception object (e.g.,Exception ex). However, in this signature, it represents the exception message string. Developers might mistakenly expect a constructor signature of(string message, Exception innerException). - Serialization Support: The class does not explicitly implement the
ISerializablepattern (a serialization constructor is missing). If this exception needs to be serialized (e.g., crossing AppDomain boundaries), theIndexproperty may be lost depending on the serialization mechanism used.