 
          
      Ошибки бывают в любом приложении или программе. Сайты не исключение.
Некоторые ошибки программист может предвидеть (такие как ошибки вычисления), но от ошибок переполнения памяти, перемещение ресурсов или смены url никто не застрахован. Главное - поймать ошибку и правильно обработать. Для обработки ошибок в JS, как Вы уже догадались, используют конструкцию try{ ... } catch (Exception) { ... } 
Для начала научимся просто ловить ошибки. Ниже приведён пример кода, который не сможет выполниться до конца, т.к. переменная b не объявлена.
А вот пример, где ошибка не просто остановит выполнение скрипта, а переведёт выполнение скрипта в блок catch
Но как же обработать эту ошибку?
Для этого существует переменная Exception , в которой и хранится описание ошибки.
Exception хранит в себе стек, приведший к данной ошибке. Вызывается Exception.stack 
Exception также хранит в себе тип ошибки. Вызывается Exception.name
Описание Exception можно вывести так Exception.message 
Выведем значения этой Exception :
      Спасибо за внимание.
    
  | 1 2 3 4 | alert("Скрипт начал выполнение");vara=0;a=a+b;alert("Скрипт закончил выполнение"); | 
Клик, чтобы проверить работу скрипта
| 1 2 3 4 5 6 7 8 | try{    alert("Скрипт начал выполнение");    vara=0;    a=a+b;    alert("Скрипт закончил выполнение");} catch(Exception) {    alert("Ошибка при вычислении");} | 
Клик, чтобы проверить работу второго скрипта
| 1 2 3 4 5 6 7 8 9 10 | try{    alert("x="+x);} catch(Exception) {    alert(        "Ошибка при выводе переменной."+ "\n"+        "Текст ошибки : "+Exception.message + "\n"+        "Тип ошибки : "+Exception.name + "\n"+        "Стек ошибки : "+Exception.stack    );} | 
Клик, чтобы вывести Exception