Updated for Xcode 15
Using Swift’s throwing functions relies on three unique keywords: do
, try
, and catch
. We need all three to be able to call a throwing function, which is unusual – most other languages use only two, because they don’t need to write try
before every throwing function.
The reason Swift is different is fairly simple: by forcing us to use try
before every throwing function, we’re explicitly acknowledging which parts of our code can cause errors. This is particularly useful if you have several throwing functions in a single do
block, like this:
do {
try throwingFunction1()
nonThrowingFunction1()
try throwingFunction2()
nonThrowingFunction2()
try throwingFunction3()
} catch {
// handle errors
}
As you can see, using try
makes it clear that the first, third, and fifth function calls can throw errors, but the second and fourth cannot.
TAKE YOUR SKILLS TO THE NEXT LEVEL If you like Hacking with Swift, you'll love Hacking with Swift+ – it's my premium service where you can learn advanced Swift and SwiftUI, functional programming, algorithms, and more. Plus it comes with stacks of benefits, including monthly live streams, downloadable projects, a 20% discount on all books, and free gifts!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.