Try catch confused me for a long time, both how you use it and why you use it. Let's start with how.
It's like if else, but not
If you were to write try catch as an if else, it would look like this:
if(it works) {
do something
} else {
show an error
}
But it's not an if else, so it actually looks like this:
try {
getting it to work
it worked, so do something
} catch {
show an error
}
It's the same, but the condition is effectively inside the try block. And not an explicit condition. And involves magic. Or so it seems. Because if the thing doesn't work it skips everything else in the try block and skips to the catch block.
It's the difference to if else that trips me up, even though the try and catch are good words to understand what's going on. For example:
try {
to fly on a trapeze
fly!
} catch {
in the net
}
So in summary, it's an if else, but the condition is implicit.
But what's it for?
A good use is for APIs. If the API doesn't send back data then it's good to find a way to tell the user that, rather than leaving them waiting, wondering if the data is ever going to arrive.
try {
to get some data from an API
show data
} catch (error) {
show error
}
I added a bit here which I skipped from my explanation further up, for the sake of simplicity. The cool thing that try catch does is that when it fails, it sends that information to the catch block. So your error might be "404 Not found" for example.
There's another extra bit you can add, which is finally. It runs whether you succeeded or not, after it's finished either the try or the catch block:
try {
to fly on a trapeze
fly!
} catch (me) {
me in the net
} finally {
have another go!
}
It's simple when you know how it works!
Top comments (1)
Nice and helpful