Εξαιρέσεις στον Ασύγχρονο Κώδικα στην JavaScript

Μια εξαίρεση που προκύπτει μέσα σε ασύγχρονο κώδικα, δεν μπορεί να πιαστεί μέσω try-catch:

javascripttry {
  setTimeout(function() {
    throw(new Error); // η εξαίρεση δεν θα πιαστεί
  }, 3000);
} catch(error) {
  console.log(error);
}
Задание 1

Εξηγήστε, ποιο είναι το πρόβλημα με τον ακόλουθο κώδικα:

javascripttry {
  elem.addEventListener('click', function() {
    JSON.parse('some string');
  });
} catch() {
  console.log('μη έγκυρο json');
}