JavaScripti viskeavaldus

Selles õpetuses saate näidete abil õppida JavaScripti viskeavaldusi.

Eelmises õpetuses õppisite erandeid käsitsema JavaScripti proovimise… püüdmislausega. Proovi ja püüdke lauseid käsitletakse erandeid standardsel viisil, mille pakub JavaScripti. Lauset saate siiski kasutada throwkasutaja määratletud erandite edastamiseks.

JavaScripti puhul käsitleb throwavaldus kasutaja määratletud erandeid. Näiteks kui teatud arv jagatakse 0-ga ja kui peate arvestama Infinityerandina, võite throwselle erandi käsitlemiseks kasutada lauset.

JavaScripti viskeavaldus

Viskeavalduse süntaks on:

 throw expression;

Siin saab expressionmäärata erandi väärtuse.

Näiteks,

 const number = 5; throw number/0; // generate an exception when divided by 0

Märkus . Avaldis võib olla string, tõeväärtus, arv või objekti väärtus.

JavaScripti viskamine prooviga … püüdmine

Süntaks try… catch… throwon:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Märkus . Kui viskeväljend on täidetud, väljub see plokist ja läheb catchplokki. Ja throwväljavõtte all olevat koodi ei täideta.

Näide 1: proovige … püüdke … visake näide

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Väljund

 Püütud viga Veateade: Viga: arvu on vähe

Ülaltoodud programmis kontrollitakse tingimust. Kui arv on väiksem kui 51 , visatakse viga. Ja see viga visatakse throwavalduse abil.

throwAvaldus täpsustab string The number is lowväljendusena.

Märkus : Teil on võimalik kasutada ka muid sisseehitatud viga ehitajatelt standard vead: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, ja RangeError.

Näiteks,

 throw new ReferenceError('this is reference error');

Viske erand

Võite kasutada ka throwavaldus sees catchkvartali rethrow erand. Näiteks,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Väljund

 Püütud viga Veateade: Viga: see on viskeviga lahendatud

Ülalolevas programmis kasutatakse throwlauset tryerandi saamiseks plokis. Ja throwlause avaldatakse selles catchplokis, mis käivitatakse, kui catchplokk ei saa erandiga hakkama.

Siin catchtegeleb plokk erandiga ja viga ei toimu. Seega throwei lükata avaldust tagasi.

Kui viga ei õnnestunud püüdmisplokis, visati viskelause uuesti tõrketeatega Uncaught Error: väärtus on madal

Huvitavad Artiklid...