---
title: Publishers.TryScan
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/tryscan
---

# Publishers.TryScan

A publisher that transforms elements from the upstream publisher by providing the current element to a failable closure along with the last value returned by the closure.

## Declaration

```swift
struct TryScan<Upstream, Output> where Upstream : Publisher
```

## Topics

### Creating a try-scan publisher

- [init(upstream:initialResult:nextPartialResult:)](combine/publishers/tryscan/init(upstream:initialresult:nextpartialresult:).md)

### Declaring supporting types

- [Publishers.Output](combine/publishers/output.md)
- [Publishers.TryScan.Failure](combine/publishers/tryscan/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/tryscan/upstream.md)
- [initialResult](combine/publishers/tryscan/initialresult.md)
- [nextPartialResult](combine/publishers/tryscan/nextpartialresult.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Mapping elements

- [Publishers.Map](combine/publishers/map.md)
- [Publishers.TryMap](combine/publishers/trymap.md)
- [Publishers.MapError](combine/publishers/maperror.md)
- [Publishers.Scan](combine/publishers/scan.md)
- [Publishers.SetFailureType](combine/publishers/setfailuretype.md)
