How is Swift's error handling better than Rust's?

There are a lot of blog posts about why Rust's approach to error handling is better than Swift's.

But certainly, the designers of Swift made a conscious choice not to copy Rust's error handling.

So, how is Swift's current error handling better than Rust's?

I think the biggest advantage is that it works with existing Cocoa code. The transparent mapping of the NSError pattern is very nice.

How is Swift's error handling better than Rust's?
 
 
Q