try...catch

Kada se pojavi err, JS zaustavlja skriptu i baci error

let result = add(10, 20);
console.log(result);

console.log('Bye');

// Uncaught TypeError: add is not a function
// Nikad ne dode do "Bye"

Što ako želimo nastaviti s execution, iako se pojavio err

try {
  // code may cause error
} catch(error){
  // code to handle error
  // ne krsi cijelu aplikaciju
}

Ako se err pojavi, kod u catch statementu se pokreće

Ako se err NE pojavi, kod u catch statementu se ignorira

JS nam daje error objekt koji nam pruža detaljnije informacije o erroru

try {
  // code may cause error
} catch(error){
  // code to handle error
  // ne krsi cijelu aplikaciju
  console.log(error)
}

error na sebi često ima name i message property

Primjeri

const add = (x, y) => x + y;

try {
  let result = add(10, 1);
  console.log(result);
} catch (e) {
  console.log({ name: e.name, message: e.message });
}

console.log('Bye');

Bez errora

const add = (x, y) => x + y;

try {
  let result = multiply(10, 1);
  console.log(result);
} catch (e) {
  console.log({ name: e.name, message: e.message });
}

console.log('Bye');

Sa errorom

try catch async await

async function getDataFromServer() {
  try {
    const response = await fetch(url);
    const data = data.json();
    console.log(data);
  } catch(error){
    console.log(error);
  }
}

Zadaća

Pročitaj članke

Pogledaj video

Made with Slides.com