# Making it harder to swallow \`error.Canceled\`

**URL:** <https://ziggit.dev/t/making-it-harder-to-swallow-error-canceled/16556>\
**Category:** Brainstorming\
**Created:** [July 7, 2026, 10:02am UTC](https://ziggit.dev/t/making-it-harder-to-swallow-error-canceled/16556 "2026-07-07T10:02:11Z")\
**Posts on this page:** 1\
**Showing post:** 58

<div class="post-metadata">

**Author:** ![lalinsky](https://ziggit.dev/user_avatar/ziggit.dev/lalinsky/32/3720_2.png) [@lalinsky](https://ziggit.dev/u/lalinsky)\
**Post date:** [August 13, 2026, 8:33pm UTC](https://ziggit.dev/t/making-it-harder-to-swallow-error-canceled/16556/58 "2026-08-13T20:33:09Z")

</div>

I’m trying to fix error handling in tls.zig and I’d like your opinion. What do you think is the best way to indicate transport error, to be stored in `conn.reader.err`, using the current conventions?

1. `null` (clear)
2. `error.ReadFailed` (forward)
3. `error.TransportReadFailed` (rename)

I’m currently of the opinion that the first option leads to the cleanest code on both sides, but maybe the third option wins because it’s the most explicit, just the code gets awkward, because the null state then basically defines illegal state.

---

_[View the full topic](https://ziggit.dev/t/making-it-harder-to-swallow-error-canceled/16556)._
