DEV Community

Mehul Lakhanpal
Mehul Lakhanpal

Posted on • Originally published at

try..catch..finally - Real example

const getData = async () => {
  try {
    const response = await fetch(
    // if error occurs here, then all the statements 
    //in the try block below this wont run.
    // Hence cannot turn off loading here.
    const data = await response.json();
  } catch (error) {
  } finally {
    setLoading(false); // Turn off loading irrespective of the status.

Enter fullscreen mode Exit fullscreen mode

Thanks for reading 💙

Follow for daily posts.


Micro-Learning ● Web Development ● Javascript ● MERN stack ● Javascript

Discussion (4)

bias profile image
Tobias Nickel

and what do you need finally for?

318097 profile image
Mehul Lakhanpal Author

In finally block you can perform things in all the cases. An error occurs or not the finally is executed. Ex., Turn off loading.

bias profile image
Tobias Nickel

yes, but you actually don't need the finally block for that. you can call setLoading(false) directly below the catch block.

do you think it looks just better? or is more clear?

Thread Thread
318097 profile image
Mehul Lakhanpal Author

You need it in try also then. And btw just an example. What if you need to execute more than 1 statement after the process. I cant copy paste in both try and catch block.