# Throwable accessors

**URL:** <https://forums.swift.org/t/throwable-accessors/20509>\
**Category:** Compiler\
**Tags:** compiler, throw\
**Created:** [February 14, 2019, 9:28pm UTC](https://forums.swift.org/t/throwable-accessors/20509 "2019-02-14T21:28:19Z")\
**Posts on this page:** 1\
**Showing post:** 38

<div class="post-metadata">

**Author:** ![DevAndArtist](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/devandartist/32/287_2.png) [@DevAndArtist](https://forums.swift.org/u/DevAndArtist)\
**Post date:** [February 18, 2019, 7:43pm UTC](https://forums.swift.org/t/throwable-accessors/20509/38 "2019-02-18T19:43:19Z")

</div>

In the sense of this post (which is not available in Swift right now and is not even decided yet) I would expect that any `get/set` (`read/modify`) throws all the time. If omitted then it throws `Never` and therefore works like in the current Swift version.

> [@Pitch: Genericizing over annotations like throws](https://forums.swift.org/t/pitch-genericizing-over-annotations-like-throws/20376/10):
>
> Another interesting future direction we could take to address polymorphism over throws specifically would be to adopt typed throws, and make the error type an independent type argument of all function types. This would mean that a type that doesn't throw effectively throws Never, and one that throws without a type by default throws Error: (X, Y, Z) -\> W === (X, Y, Z) throws Never -\> W (X, Y, Z) throws -\> W === (X, Y, Z) throws Error -\> W This would allow protocols to be generic over thr…

---

_[View the full topic](https://forums.swift.org/t/throwable-accessors/20509)._
