# Looking for something in between a \`TaskGroup\` and a \`ThrowingTaskGroup\`

**URL:** <https://forums.swift.org/t/looking-for-something-in-between-a-taskgroup-and-a-throwingtaskgroup/68504>\
**Category:** Discussion\
**Tags:** concurrency\
**Created:** [November 16, 2023, 10:19pm UTC](https://forums.swift.org/t/looking-for-something-in-between-a-taskgroup-and-a-throwingtaskgroup/68504 "2023-11-16T22:19:49Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![dnadoba](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/dnadoba/32/11438_2.png) [@dnadoba](https://forums.swift.org/u/dnadoba)\
**Post date:** [November 17, 2023, 10:30am UTC](https://forums.swift.org/t/looking-for-something-in-between-a-taskgroup-and-a-throwingtaskgroup/68504/10 "2023-11-17T10:30:44Z")

</div>

I run into this myself as well. I ended up using `Result` but the do/catch dance is quite annoying. You can add an async `Result(catching:)` overload but that should just be `reasync` in my personal opinion. We aren't likely getting `reasync` though so this isn't a real option.

Luckily this is properly solved in the [typed throws in the concurrency module pitch](https://forums.swift.org/t/pitch-typed-throws-in-the-concurrency-module/68210) as Franz already mentioned.

---

_[View the full topic](https://forums.swift.org/t/looking-for-something-in-between-a-taskgroup-and-a-throwingtaskgroup/68504)._
