Files
freeCodeCamp/guide/arabic/javascript/error-handling-and-try-catch-throw/index.md
2018-10-16 21:32:40 +05:30

3.0 KiB

title, localeTitle
title localeTitle
Error Handling and Try Catch Throw خطأ في التعامل ومحاولة رمي الصيد

خطأ في التعامل ومحاولة رمي الصيد

يمثل try...catch..finally statement عبارة عن مجموعة من العبارات للتجربة ، ويحدد استجابة ، في حالة طرح استثناء. في try يحتوي على عبارة واحدة أو أكثر من البيانات، واحد على الأقل catch بند أو finally فقرة، أو كليهما.

try...catch

`try { throw new Error('my error'); } catch (e) { console.error(e.message); }

// Output: // my error `

try...finally :

`try { throw new Error('my error'); } finally { console.error('finally'); }

// Output: // finally `

ملاحظة: عندما لا catch الخطأ ، فإنه في الواقع لا "يصطاد" ​​، حتى لو تم تنفيذ الحظر finally . وهذا يعني أن الخطأ سيستمر في كتلة try العليا (أو الكتلة الرئيسية).

try...catch...finally :

`try { throw new Error('my error'); } catch (e) { console.error(e.message); } finally { console.error('finally'); }

// Output: // my error // finally `

الاستخدام النموذجي:

try { openFile(file); readFile(file) } catch (e) { console.error(e.message); } finally { closeFile(file); }

try...catch متداخلة try...catch

بامكانك ايضا:

  • اعتبر عبارة try-catch داخل كتلة try .
  • رمي الخطأ صعودا.

`try { try { throw new Error('my error'); } catch (e) { console.error('inner', e.message); throw e; } finally { console.log('finally'); } } catch (e) { console.error('outer', e.message); }

// Output: // inner my error // finally // outer my error `

أنواع الخطأ

خطأ مرجعي

var x; try { x = y + 1; // y cannot be referenced (used) } catch(err) { console.log(err.name, err.message); } // ReferenceError y is not defined

خطأ في بناء الجملة

try { eval("alert('Hello)"); // Missing ' will produce an error } catch(err) { console.log(err.name,err.message); } // SyntaxError Invalid or unexpected token

خطأ مطبعي

var num = 1; try { num.toUpperCase(); // You cannot convert a number to upper case } catch(err) { console.log(err.name, err.message); } // TypeError num.toUpperCase is not a function

خطأ URI

try { decodeURI("%%%"); // You cannot URI decode these percent signs } catch(err) { console.log(err.name, err.message); } // URIError URI malformed

معلومات اكثر:

MDN W3S