Skip to content

>,System.Func{--1,System.IObservable{--0}})} ,System.IObservable{--0})} [])}

Defined in

Type: Observable Namespace: System.Reactive.Linq Assembly: System.Reactive.dll

Applies to

netstandard2.0

Overloads

  • 1. public static IObservable<TSource> Catch<TSource, TException>(this IObservable<TSource> source, Func<TException, IObservable<TSource>> handler) where TException : Exception
  • 2. public static IObservable<TSource> Catch<TSource>(this IObservable<TSource> first, IObservable<TSource> second)
  • 3. public static IObservable<TSource> Catch<TSource>(params IObservable<TSource>[] sources)
  • 4. public static IObservable<TSource> Catch<TSource>(this IEnumerable<IObservable<TSource>> sources)

1. Overload

public static IObservable<TSource> Catch<TSource, TException>(this IObservable<TSource> source, Func<TException, IObservable<TSource>> handler) where TException : Exception

Summary: Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence and sequences returned by the exception handler function.
TExceptionThe type of the exception to catch and handle. Needs to derive from Exception.

Parameters

NameTypeDescription
sourceIObservableSource sequence.
handlerFunc>Exception handler function, producing another observable sequence.

Returns: IObservable -- An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred.

Exceptions

TypeCondition
System.ArgumentNullExceptionsource or handler is null.

2. Overload

public static IObservable<TSource> Catch<TSource>(this IObservable<TSource> first, IObservable<TSource> second)

Summary: Continues an observable sequence that is terminated by an exception with the next observable sequence.

Type parameters

NameDescription
TSourceThe type of the elements in the source sequence and handler sequence.

Parameters

NameTypeDescription
firstIObservableFirst observable sequence whose exception (if any) is caught.
secondIObservableSecond observable sequence used to produce results when an error occurred in the first sequence.

Returns: IObservable -- An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred.

Exceptions

TypeCondition
System.ArgumentNullExceptionfirst or second is null.

3. Overload

public static IObservable<TSource> Catch<TSource>(params IObservable<TSource>[] sources)

Summary: Continues an observable sequence that is terminated by an exception with the next observable sequence.

Type parameters

NameDescription
TSourceThe type of the elements in the source and handler sequences.

Parameters

NameTypeDescription
params sourcesIObservable<TSource>[]Observable sequences to catch exceptions for.

Returns: IObservable -- An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.

Exceptions

TypeCondition
System.ArgumentNullExceptionsources is null.

4. Overload

public static IObservable<TSource> Catch<TSource>(this IEnumerable<IObservable<TSource>> sources)

Summary: Continues an observable sequence that is terminated by an exception with the next observable sequence.

Type parameters

NameDescription
TSourceThe type of the elements in the source and handler sequences.

Parameters

NameTypeDescription
sourcesIEnumerable>Observable sequences to catch exceptions for.

Returns: IObservable -- An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully.

Exceptions

TypeCondition
System.ArgumentNullExceptionsources is null.