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:

javascripttry {
  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:

javascripttry {
  throw new SyntaxError('istisna mətni');
} catch (error) {
  console.log(error.name); // 'SyntaxError'
  console.log(error.message); // 'istisna mətni'
}
Задание 1

TypeError tipində istisna atın.

Задание 2

SyntaxError və RangeError 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.