Generic Instance Method

# catch(_:)

Handles errors from an upstream publisher by replacing it with another publisher.

## Parameters

`handler`

A closure that accepts the upstream failure as input and returns a publisher to replace the upstream publisher.

## Return Value

A publisher that handles errors from an upstream publisher by replacing the failed publisher with another publisher.

## Discussion

Use `catch(_:)` to replace an error from an upstream publisher with a new publisher.

In the example below, the `catch(_:)` operator handles the `SimpleError` thrown by the upstream publisher by replacing the error with a `Just` publisher. This continues the stream by publishing a single value and completing normally.

### Handling Errors

`func assertNoFailure(String, file: StaticString, line: UInt) -> Publishers.AssertNoFailure<Self>`

Raises a fatal error when its upstream publisher fails, and otherwise republishes all received input.

`func tryCatch<P>((Self.Failure) -> P) -> Publishers.TryCatch<Self, P>`

Handles errors from an upstream publisher by either replacing it with another publisher or throwing a new error.

`func retry(Int) -> Publishers.Retry<Self>`

Attempts to recreate a failed subscription with the upstream publisher up to the number of times you specify.