РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsSpExcThr 145 of 294 menu
◀ ▶

Фрлање исклучоци во JavaScript

Во претходните лекции ги проучувавме двете места каде JavaScript фрла исклучок во случај на некои проблеми.

Во вашиот проект, сепак, може да има и други ситуации кои за вас се исклучоци, а за JavaScript - не. Во таков случај ние можеме да креираме и да фрламе наши, кориснички исклучоци.

Ајде да го разгледаме синтаксата потребна за ова. Најпрво исклучокот треба да се креира со командата new Error, како параметар пренесувајќи го текстот на исклучокот:

new Error('текст на исклучокот');

Потоа овој исклучок треба да се фрли со командата throw:

throw new Error('текст на исклучокот');

Фрлањето исклучок го принудува JavaScript да смета дека се случила исклучна ситуација. Ова значи дека таков исклучок може да се улови со конструкцијата try-catch и да се обработи на потребниот начин.

Ајде да погледнеме на пример како да го користиме ова. Нека имаме функција која дели еден број со друг:

function div(a, b) { return a / b; }

Ајде да сметаме дека делењето со нула е забрането и при обид да се направи ова треба да се појави исклучна ситуација. За ова ќе проверуваме во функцијата, дали нема обид за делење со 0. Ако нема - ќе делиме, а ако има - ќе фрламе исклучок:

function div(a, b) { if (b !== 0) { return a / b; } else { throw new Error('грешка при делење со нула'); } }

Ајде најпрво едноставно да се обидеме да поделиме со 0, без да го уловиме исклучокот:

alert( div(3, 0) );

Во овој случај извршувањето на скриптата ќе прекине и во конзолата ќе се појави грешка со текстот 'грешка при делење со нула' (проверете). Ајде сега да го уловиме нашиот исклучок и на некој начин да го обработиме:

try { alert( div(3, 0) ); } catch (error) { alert('се обидувате да делите со 0, што е забрането'); }

Во JavaScript обидот за вадење корен од негативен број не доведува до фрлање исклучок:

let result = Math.sqrt(-1); console.log(result); // ќе испечати NaN

Напишете ја вашата функција која ќе вади корен од број и притоа ќе фрла исклучок, ако корен се вади од негативен број.

← →
↑
Македонски▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј