← Back to context

Comment by exkgkkwksk

15 hours ago

oo and support for exceptions, in particular checked exceptions, was a mistake of the 90s. We know better today, there’s a reason for why modern languages like go/rust/swift don’t use them, and why many use c++ with exceptions disabled.

Checked exceptions are great. There is no difference between them and results/unions except syntax. The below all express the same thing. Swift in fact uses the checked throws syntax.

    Result<T,E> fn()

    T | E fn()

    T fn() throws E

    fn() throws(E) -> T