cb
ABCD
  • JS Танилцуулга
  • JS Хаана байрлах вэ
  • JS Гаралт /Output/
  • JS Мэдэгдэл /Statement/
  • JS Бичиглэл /Syntax/
  • JS Тайлбар /Comments/
  • JS Хувьсагч /Variables/
  • JS Оператор /Operators/
  • JS Арифметик оператор
  • JS Даалгаварын оператор
  • JS Өгөгдлийн төрөл
  • JS Функц /Function/
  • JS Обьект /Objects/
  • JS Тэмдэгт /Strings/
  • JS Тэмдэгтийн аргууд /String Methods/
  • Тоон утга /Numbers/
  • Тоон утга /Number methods/
  • JS Массив /Array/
  • JS Массив /Array Methods/
  • JS Ангилах /Sort/
  • JS массив давтах аргууд /Iteration/
  • JS Огноо /Dates/
  • JS огнооны формат
  • JS Get Date Methods
  • JS Set Date Methods
  • JS Математик объект
  • JS Cанамсаргүй тоо
  • JS Үнэн/ Худал Boolean утга
  • JS Харьцуулах ба Логик оператор
  • JS Нөхцөл шалгах / If Else
  • JS switch оператор
  • JS For давталт
  • JS For In давталт
  • Js For / Of давталт
  • JS While Давталт
  • JS Break ба Continue
  • JS Let Хувьсагч
  • JS Const Тогтмол хувьсагч
  • JS Төрөл хувиргалт
  • JS Алдаатай ажиллах Throw ба Try Catch
  • JS Гинжин хамаарал буюу Scope, Scope Chain
  • JS Hoisting буюу Өргөх
  • JS Хатуу горим буюу Strict Mode
  • JS this түлхүүр үг
тохиргоо
Толгой хэсэг
Хажуугийн самбар
Үндсэн контент
НЭВТРЭХ

JS Алдаатай ажиллах Throw ба Try Catch

try нь блок кодын алдааг шалгадаг.
catch нь алдааг зохицуулдаг.
throw нь алдаа үүсгэдэг.
finally нь үр дүнг үл хамааран кодыг гүйцэтгэх боломжийг олгоно.


Error буюу алдаа

Кодыг гүйцэтгэх явцад өөр өөр алдаа өгөх болно.
Програм зохиогчийн кодын алдаа, буруу оруулсан алдаа, болон урьдчилан таамаглах боломжгүй алдаа байж болно.

Жишээ нь

<p id="test"></p>

<script>
try {
  abcd("Сайн уу найзуудаа!");
}
catch(err) {
  document.getElementById("test").innerHTML = err.message;
}
</script>

Үр дүнг харах

catch нь abcd алдааг барих болно. Хувьсагч зарлагдаагүй байгааг анзаарна уу.


try болон catch

try нь блок кодыг гүйцэтгэх явцад алдаа байгаа эсэхийг шалгадаг.

Хэрэв блок кодод алдаа гарвал catch нь тухайн алдааг барих болно.

try болон catch нь хосоороо ажиллах болно.

Жишээ нь

<script>
try {
  /* Блок код энд байна */
}
catch(err) {
  /* Блок код энд байна */
}
</script>


Throw Error

Алдаа гарвал JavaScript нь ихэвчлэн зогсч, алдааны мэдэгдэл үүсгэдэг.
Техникийн хэллэг нь throw an exception эсвэл (throw an error) гэдэг. Энэ хичээлээр exception хэллэгийг ашиглах болно.

JavaScript-н Error объект нь name болон message гэсэн хоёр шинж чанартай. 


Throw

throw нь тооцоолж болох алдаа үүсгэх боломжийг олгодог.

JavaScript-д exception нь string, number, boolean,object байж болно.

Жишээ нь

<script>
throw "Хэт бага"
throw 404
</script>

Хэрэв throw-г try болон catch хослуулан ашиглавал алдааны урсгалыг хянах, мэдэгдэл үүсгэх боломжтой юм.


Оролтыг баталгаажуулах жишээ авч үзье

Жишээ нь гараас утга авна. Хэрэв гараас авсан утга буруу байвал exception(err) нь thrown-д заасан утгыг буцаах болно.

Жишээ нь

<p>10 аас 20 ийн хооронд тоо оруулна уу:</p>

<input id="test" type="text">
<button type="button" onclick="myFunc()">Тоо оруулна уу</button>
<p id="hariu"></p>

<script>
function myFunc() {
  var msg, x;
  msg = document.getElementById("hariu");
  msg.innerHTML = "";
  n = document.getElementById("test").value;
  try {
    if(n == "") throw "Хоосон байна";
    if(isNaN(n)) throw "NaN буюу тоо биш байна";
    n = Number(n);
    if(n < 10) throw "Хэт бага";
    if(n > 20) throw "Хэт их";
  }
  catch(err) {
    msg.innerHTML = "Оруулсан тоо нь " + err;
  }
}
</script>

Үр дүнг харах


Finally

finally нь үр дүнг үл хамааран кодыг гүйцэтгэх боломжийг олгоно.

Бичиглэл

<script>
try {
Блок код
}
catch(err) {
Алдаа засах блок код
}
finally {
Try / catch үр дүнгээс үл хамааран гүйцэтгэх кодын блок
}
</script>

Жишээ нь

<p>10 аас 20 ийн хооронд тоо оруулна уу:</p>

<input id="test" type="text">
<button type="button" onclick="myFunc()">Тоо оруулна уу</button>
<p id="hariu"></p>

<script>
function myFunc() {
  var msg, x;
  msg = document.getElementById("hariu");
  msg.innerHTML = "";
  n = document.getElementById("test").value;
  try {
    if(n == "") throw "Хоосон байна";
    if(isNaN(n)) throw "NaN буюу тоо биш байна";
    n = Number(n);
    if(n < 10) throw "Хэт бага";
    if(n > 20) throw "Хэт их";
  }
  catch(err) {
    msg.innerHTML = "Оруулсан тоо нь " + err;
  }
finally {
document.getElementById("test").value = "Сайн уу Finally";
}
}
</script>

Үр дүнг харах


Объектын алдаа

JavaScript нь алдаа гарах үед мэдээлэл өгдөг алдааны объекттой байдаг.
Алдааны объект нэр ба мессеж гэсэн хоёр шинж чанарын алдааг өгдөг.

Шинж чанарТайлбар
name Алдаатай нэрийг буцаах болно
message Алдаатай мэдэгдэлийг буцаах болно

Name-н алдаа

Error NameТайлбар
EvalError Eval () функцэд алдаа гарсан
RangeError Хязгаараас давсан байна
ReferenceError Зөвшөөрөгдөөгүй лавлагаа 
SyntaxError Бичиглэлийн алдаа
TypeError Төрлийн алдаа
URIError encodeURI() алдаа

Дээрх зургаан утгыг дор тайлбарлав.


Eval Error

EvalError нь eval() функцийн алдааг илэрхийлнэ.

JavaScript нь EvalError функцийн оронд SyntaxError-г ашигладаг.


Range Error

Хэрэв хэмжээнээс хэтэрсэн тоог ашиглавал RangeError алдааг өгнө. toPrecision() функц нь аргументаар 1-ээс 100-н хооронд л утга авах болно.

Жишээ нь

<p id="test"></p>

<script>
var too = 1;
try {
  too.toPrecision(101);
}
catch(err) {
  document.getElementById("test").innerHTML = err;
}
</script>

Үр дүнг харах


Reference Error

Хэрэв та зарлаагүй хувьсагчийг ашиглавал ReferenceReeor алдаа өгнө.

Жишээ нь

<script>
var n;
try {
  n = m + 1; /* m хувьсагч зарлаагүй байна. */
}
catch(err) {
  document.getElementById("test").innerHTML = err.name;
}
</script>

Үр дүнг харах


Syntax Error

Кодод үнэлэх үед бичиглэлийн алдаа гарвал SyntaxError алдаа өгнө.

Жишээ нь

<script>
try {
  eval("alert('Сайн уу)");
}
catch(err) {
  document.getElementById("test").innerHTML = err.name;
}
</script>

Үр дүнг харах


Type Error

Хүлээгдэж буй төрлөөс өөр утга орж ирвэл TypeError алдаа өгнө.

Жишээ нь

<script>
var n = 10;
try {
  n.toUpperCase(); /* Тоог том үсгээр бичиж болохгүй. Үсгийг болно */
}
catch(err) {
  document.getElementById("test").innerHTML = err.name;
}
</script>

Үр дүнг харах


URI Error буюу (Uniform Resource Identifier)

URI функцэд зөвшөөрөгдөөгүй тэмдэгт ашиглавал URIError алдаа өгнө.

Жишээ нь

<script>
try {
  decodeURI("%%%");
}
catch(err) {
  document.getElementById("test").innerHTML = err.name;
}
</script>

Үр дүнг харах


Сэтгэгдэлүүд

Контентын нэр
JS Танилцуулга
JS Хаана байрлах вэ
JS Гаралт /Output/
JS Мэдэгдэл /Statement/
JS Бичиглэл /Syntax/
JS Тайлбар /Comments/
JS Хувьсагч /Variables/
JS Оператор /Operators/
JS Арифметик оператор
JS Даалгаварын оператор
JS Өгөгдлийн төрөл
JS Функц /Function/
JS Обьект /Objects/
JS Тэмдэгт /Strings/
JS Тэмдэгтийн аргууд /String Methods/
Тоон утга /Numbers/
Тоон утга /Number methods/
JS Массив /Array/
JS Массив /Array Methods/
JS Ангилах /Sort/
JS массив давтах аргууд /Iteration/
JS Огноо /Dates/
JS огнооны формат
JS Get Date Methods
JS Set Date Methods
JS Математик объект
JS Cанамсаргүй тоо
JS Үнэн/ Худал Boolean утга
JS Харьцуулах ба Логик оператор
JS Нөхцөл шалгах / If Else
JS switch оператор
JS For давталт
JS For In давталт
Js For / Of давталт
JS While Давталт
JS Break ба Continue
JS Let Хувьсагч
JS Const Тогтмол хувьсагч
JS Төрөл хувиргалт
JS Алдаатай ажиллах Throw ба Try Catch
JS Гинжин хамаарал буюу Scope, Scope Chain
JS Hoisting буюу Өргөх
JS Хатуу горим буюу Strict Mode
JS this түлхүүр үг
ABCD.mn ©

Нөхцөл & Шаардлага

1. General

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

2. Account

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

3. Service

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

4. Payments

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.