⊗jsSpExcThrT 146 of 294 menu

JavaScript-də müxtəlif tip istisnaların atılması

Gəlin öz istisnamızı ataq və görək, bu halda xəta obyekti necə davranacaq:

try { throw new Error('istisna mətni'); } catch (error) { console.log(error.name); // 'Error' console.log(error.message); // 'istisna mətni' }

Gördüyünüz kimi, istisnamızın tipi - 'Error'. Bu cür atılan istənilən istisnanın tipi eyni olacaq. Lakin bu, həmişə əlverişli olmayacaq, çünki əgər bizim bir neçə istisnamız ola bilərsə, onları bir-birindən fərqləndirə bilməyəcəyik.

JavaScript-də bu problemin həlli nəzərdə tutulub: yalnız Error tipindən deyil, həm də JavaScript-də daxili olan istənilən xəta tipindən, məsələn, TypeError, SyntaxError, RangeError istisnalar atmaq olar.

Gəlin nümunə üçün SyntaxError tipində istisna ataq:

try { throw new SyntaxError('istisna mətni'); } catch (error) { console.log(error.name); // 'SyntaxError' console.log(error.message); // 'istisna mətni' }

TypeError tipində istisna atın.

SyntaxErrorRangeError tipində istisnalar atın. Bu istisnaları bir try bloku ilə tutun. catch blokunda müxtəlif tipli istisnalar üçün müxtəlif xəta mesajları çap edin.

swdanlsvka