Skip to content
garevna edited this page Sep 24, 2018 · 8 revisions

🎓 Error ()

Конструктор Error () создаёт объект Error

В качестве аргументов конструктору нужно передать текст сообщения об ошибке

var err = new Error ( "Arguments are not valid" )

🎓 try ... catch

Оператор try ... catch позволяет перехватить ошибку в процессе исполнения кода

Если при выполнении кода в блоке try { ... } возникнет ошибка, управление перейдет в блок catch с передачей в качестве аргумента объекта ошибки

try {
   ... ( code )
}
catch ( err ) {
   ... ( code )
}

☕ 1

var obj = null
try {
        var x = obj.name
}
catch ( err ) {
        x = undefined
}

В этом примере при выполнении кода

var x = obj.name

должно быть сгенерировано исключение, которое приведет к прерыванию работы программы

Благодаря тому, что исключение "перехватывается" в блоке try, управление переходит в блок catch, где переменной x присваивается значение undefined, и работа программы продолжается

🎓 throw

Оператор throw генерирует пользовательское исключение ( ошибку )

Выполнение текущей функции будет прервано, и управление будет передано в первый блок catch в стеке вызовов

Если блок catch отсутствует, выполнение программы завершится

☕ 2

В результате выполнения кода:

try {
    throw new Error ( "Arguments not valid" )
} catch ( err ) {
    console.error ( `${err.name}: ${err.message}` )
}

в консоль будет выброшено исключение:

⛔️ Error: Arguments not valid 

☕ 3

var num = {}
try {
   if ( typeof num !== "number" ) {
      var err = new Error ( "Arguments not valid" )
      err.name = "ValidationError"
      throw err
   }
} catch ( err ) {
   console.error ( `${err.name}: ${err.message}` )
}

console.dir ( err )

***
[:briefcase: Упражнения](https://docs.google.com/forms/d/e/1FAIpQLSf-i0cr7AEXzSJrggqS1AgZz-OBW5ES-l_ntO1R4Q7XZqZaEw/viewform)

© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав


Новая версия


1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19

Занятие 1

⤵️

Занятие 2

⤴️ ⤵️

Занятие 3

⤴️ ⤵️

Занятие 4

⤴️ ⤵️

Занятие 5

⤴️ ⤵️

Занятие 6

⤴️ ⤵️

Занятие 7

⤴️ ⤵️

Занятие 8

⤴️ ⤵️

Занятие 9

⤴️ ⤵️

Занятие 10

⤴️ ⤵️

Занятие 11

⤴️ ⤵️

Занятие 12

⤴️ ⤵️

Занятие 13

⤴️ ⤵️

Занятие 14

⤴️ ⤵️

Занятие 15

⤴️ ⤵️

Занятие 16

⤴️ ⤵️

Занятие 17

⤴️ ⤵️

Занятие 18

⤴️ ⤵️

Занятие 19

⤴️ ⤵️

⤴️

ico20 Дополнительно
dir-20 Справочная инфо

Clone this wiki locally