Conversation

A language with algebraic effects might support what you are after. There's no real 'popular' language which uses this approach heavily yet, though, and most have an 'exception' effect that is not parameterized with an error type.
1
2
Aye, I was trying to find an example of the more specialised exception handling so I can get a feel for how it works in practice before getting into the algebraic effects theory
1