Class RowErrorCollection
A list of RowError instances, which represent errors that
occurred when processing a particular dataflow row, with one RowError
instance for each time the row is sent to an error output row of a worker.
The system adds the RowError instances automatically; the user inspects them, and can also remove and clear them.
A RowErrorCollection instance is created automatically as needed when calling
one of the
SendErrorRow(TError, String, Nullable<Int64>, String, Exception)
overloads if the TError row type has a field defined as:
public CaptureRowErrors CaptureRowErrors;.
For example, a target worker might on a row error send the incoming row to its error output. A source worker might instead use StringRowErrors as its error output type, and on a row error send that to its error output, populating RowErrorRow with a string representation of the external source row. A transform worker might use either of the previous strategies, depending on whether outputting the original row or a string representation of the original row is more appropriate.
Warning: Do not modify any exception properties and do not re-throw them after cloning them (e.g. via MulticastTransform<TInputOutput>), since this would lead to other copies also being changed. Exceptions contain mutable (i.e. modifiable) properties, but the dataflow treats the exceptions in this collection as immutable (i.e. not modifiable) when cloning them, since deep copies cannot be reliably done on arbitrary exceptions.
Namespace: actionETL
Assembly: actionETL.dll
Syntax
public class RowErrorCollection : IList<RowError>, ICollection<RowError>, IEnumerable<RowError>, IEnumerable
Properties
Count
Gets the number of row errors in the list.
Declaration
public int Count { get; }
Property Value
| Type | Description |
|---|---|
| Int32 |
IsReadOnly
Gets a value indicating whether the list is read-only.
Declaration
public bool IsReadOnly { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Item[Int32]
Gets or sets the RowError at the specified index.
Declaration
public RowError this[int index] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | index | The zero-based index. |
Property Value
| Type | Description |
|---|---|
| RowError |
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException |
|
Last
Gets the last row error, or null if there is no error.
This allows e.g. to get a string describing the last error: Last?.ToString().
Declaration
public RowError Last { get; }
Property Value
| Type | Description |
|---|---|
| RowError |
Methods
Add(RowError)
Adds the specified row error to the end of the list.
Declaration
public void Add(RowError item)
Parameters
| Type | Name | Description |
|---|---|---|
| RowError | item | The row error. |
Clear()
Removes all row error instances from the list. This is typically done when the errors have been handled, but the row will continue to be processed by other downstream workers.
Instead of explicitly clearing row errors on each row, one can instead configure output and error output ports to automatically clear all row errors using ClearRowErrors.
Declaration
public void Clear()
Contains(RowError)
Determines whether the list contains a specific row error.
Declaration
public bool Contains(RowError item)
Parameters
| Type | Name | Description |
|---|---|---|
| RowError | item | The row error to locate in the list. |
Returns
| Type | Description |
|---|---|
| Boolean | true if |
CopyTo(RowError[], Int32)
Copies the elements of the list to an Array, starting at a particular Array index.
Warning: Do not modify any exception properties and do not re-throw them after copying them, since this would lead to other copies also being changed. Exceptions contain mutable (i.e. modifiable) properties, but the dataflow treats the exceptions in this collection as immutable (i.e. not modifiable) when cloning them, since deep copies cannot be reliably done on arbitrary exceptions.
Declaration
public void CopyTo(RowError[] array, int arrayIndex)
Parameters
| Type | Name | Description |
|---|---|---|
| RowError[] | array | The one-dimensional Array that is the destination of the copied elements. The Array must have zero-based indexing. |
| Int32 | arrayIndex | The zero-based index in |
GetEnumerator()
Returns an enumerator that iterates through the list.
Declaration
public IEnumerator<RowError> GetEnumerator()
Returns
| Type | Description |
|---|---|
| IEnumerator<RowError> |
IndexOf(RowError)
Searches for the specified row error and returns the zero-based index of the first occurrence within the entire list.
Declaration
public int IndexOf(RowError item)
Parameters
| Type | Name | Description |
|---|---|---|
| RowError | item | The row error to locate in the list. |
Returns
| Type | Description |
|---|---|
| Int32 | The index of |
Insert(Int32, RowError)
Inserts an item to the list at the specified index.
Declaration
public void Insert(int index, RowError item)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | index | The zero-based index at which |
| RowError | item | The row error to insert into the list. |
Remove(RowError)
Removes the first occurrence of the specified row error from the list.
Declaration
public bool Remove(RowError item)
Parameters
| Type | Name | Description |
|---|---|---|
| RowError | item | The row error to remove from the list. |
Returns
| Type | Description |
|---|---|
| Boolean | true if |
RemoveAt(Int32)
Removes the row error at the specified index.
Declaration
public void RemoveAt(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | index | The zero-based index of the row error to remove. |
ToString()
Returns a String that represents this instance.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String |
Overrides
Explicit Interface Implementations
IEnumerable.GetEnumerator()
Returns an enumerator that iterates through a list.
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
| Type | Description |
|---|---|
| IEnumerator |