Error Handling in Node.js: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@pipegas_WP)
 
Line 1: Line 1:
## معالجة الأخطاء في نود جي إس
== معالجة الأخطاء في Node.js ==


'''مقدمة'''
Node.js، بيئة التشغيل القوية لبناء تطبيقات [[JavaScript]] من جانب الخادم، تتطلب معالجة دقيقة للأخطاء لضمان استقرار التطبيق وموثوقيته. تجاهل الأخطاء يمكن أن يؤدي إلى أعطال غير متوقعة، وفقدان البيانات، وتجربة مستخدم سيئة. هذه المقالة موجهة للمبتدئين في Node.js وتهدف إلى شرح شامل لطرق معالجة الأخطاء المختلفة في هذه البيئة.


معالجة الأخطاء جزء حيوي من كتابة تطبيقات [[نود جي إس]] قوية وموثوقة. سواء كنت تبني واجهة برمجة تطبيقات (API)، أو خادم ويب، أو تطبيقًا معقدًا، فإن توقع الأخطاء والتعامل معها بشكل صحيح أمر ضروري لتجربة مستخدم سلسة واستقرار التطبيق. هذه المقالة موجهة للمبتدئين وتهدف إلى تزويدهم بفهم شامل لكيفية معالجة الأخطاء في [[نود جي إس]].
=== أنواع الأخطاء في Node.js ===


'''لماذا معالجة الأخطاء مهمة؟'''
يمكن تصنيف الأخطاء في Node.js إلى عدة أنواع رئيسية:


بدون معالجة الأخطاء، يمكن أن يتعطل تطبيقك بشكل غير متوقع، مما يؤدي إلى فقدان البيانات أو تجربة مستخدم سيئة. معالجة الأخطاء الجيدة تسمح لك بما يلي:
*  '''الأخطاء المتزامنة (Synchronous Errors):''' تحدث هذه الأخطاء أثناء تنفيذ التعليمات البرمجية بشكل مباشر. عادةً ما تكون نتيجة لأخطاء في بناء الجملة أو أخطاء منطقية في التعليمات البرمجية. غالباً ما يتم التعامل معها باستخدام كتل `try...catch`.
*  '''الأخطاء غير المتزامنة (Asynchronous Errors):''' تحدث هذه الأخطاء داخل عمليات رد النداء (Callbacks)، أو الوعود (Promises)، أو async/await. التعامل معها أكثر تعقيدًا ويتطلب آليات مختلفة مثل وسيط الخطأ في ردود النداء، أو `.catch()` في الوعود، أو `try...catch` مع `async/await`.
*  '''أخطاء النظام (System Errors):''' هذه الأخطاء ناتجة عن مشاكل في نظام التشغيل أو موارد النظام، مثل نفاد الذاكرة أو فشل الوصول إلى الملفات. يمكن التعامل معها باستخدام وحدة [[Error]] المدمجة في Node.js.


*  '''منع التعطل:''' التعامل مع الأخطاء يمنع التطبيق من التوقف عن العمل بشكل مفاجئ.
=== معالجة الأخطاء المتزامنة ===
*  '''تسجيل الأخطاء:''' تسجيل الأخطاء يساعدك على تحديد المشاكل وإصلاحها.
*  '''تقديم رسائل خطأ مفيدة:''' توفير رسائل خطأ واضحة للمستخدمين أو للمطورين يسهل عملية التصحيح.
*  '''الحفاظ على استقرار التطبيق:''' التعامل مع الأخطاء يضمن استمرار التطبيق في العمل حتى في ظل الظروف غير المتوقعة.


'''أنواع الأخطاء في نود جي إس'''
أبسط طريقة لمعالجة الأخطاء المتزامنة هي استخدام كتل `try...catch`. يسمح لك هذا الهيكل بمحاولة تنفيذ كتلة من التعليمات البرمجية، وإذا حدث خطأ، يتم التقاطه في كتلة `catch` لتنفيذ التعليمات البرمجية المناسبة للتعامل مع الخطأ.


يمكن تصنيف الأخطاء في [[نود جي إس]] إلى عدة أنواع رئيسية:
[[User:Admin|Admin]] ([[User talk:Admin|talk]])javascript
 
*  '''الأخطاء العادية (Synchronous Errors):''' تحدث هذه الأخطاء بشكل متزامن، مثل أخطاء بناء الجملة أو الأخطاء المنطقية. يتم التعامل معها باستخدام كتل `try...catch`.
*  '''الأخطاء غير المتزامنة (Asynchronous Errors):''' تحدث هذه الأخطاء في عمليات غير متزامنة، مثل عمليات الإدخال/الإخراج (I/O) أو استدعاءات واجهة برمجة التطبيقات (API). يتم التعامل معها باستخدام ردود النداء (callbacks)، أو الوعود (Promises)، أو `async/await`.
*  '''الأخطاء النظامية (System Errors):''' تحدث هذه الأخطاء بسبب مشاكل في النظام، مثل نفاد الذاكرة أو فشل الوصول إلى الملفات.
 
'''طرق معالجة الأخطاء'''
 
'''1. كتل Try...Catch'''
 
تُستخدم كتل `try...catch` للتعامل مع الأخطاء العادية.  الكود الذي قد يسبب خطأً يوضع داخل كتلة `try`، والكود الذي يعالج الخطأ يوضع داخل كتلة `catch`.
 
```javascript
try {
try {
   // كود قد يسبب خطأ
   // التعليمات البرمجية التي قد تتسبب في خطأ
   const result = someFunctionThatMightFail();
   const result = 10 / 0; // هذا سيؤدي إلى خطأ DivisionByZero
   console.log(result);
   console.log(result);
} catch (error) {
} catch (error) {
   // معالجة الخطأ
   // معالجة الخطأ
   console.error("حدث خطأ:", error);
   console.error("حدث خطأ:", error.message);
}
}
```
[[User:Admin|Admin]] ([[User talk:Admin|talk]])


'''2. ردود النداء (Callbacks)'''
=== معالجة الأخطاء غير المتزامنة ===


في [[البرمجة غير المتزامنة]]، غالبًا ما يتم تمرير دالة رد نداء (callback) كمعامل إلى دالة غير متزامنة.  تتوقع دالة رد النداء هذه أن تتلقى معلمة خطأ كأول وسيط لها.
معالجة الأخطاء غير المتزامنة تتطلب استراتيجيات مختلفة:


```javascript
*  '''ردود النداء (Callbacks):''' غالباً ما تتلقى ردود النداء وسيطًا للخطأ كمعاملها الأول. من المهم دائمًا التحقق من وجود خطأ في رد النداء قبل معالجة النتيجة.
fs.readFile('myfile.txt', function (err, data) {
  if (err) {
    // معالجة الخطأ
    console.error("حدث خطأ أثناء قراءة الملف:", err);
    return;
  }
  console.log(data);
});
```


'''3. الوعود (Promises)'''
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])javascript
    fs.readFile('myfile.txt', function(err, data) {
      if (err) {
        console.error("حدث خطأ أثناء قراءة الملف:", err);
        return;
      }
      console.log(data.toString());
    });
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])


الوعود هي طريقة أكثر تنظيمًا للتعامل مع [[البرمجة غير المتزامنة]].  يتم تمثيل نتيجة عملية غير متزامنة كـ "وعد" يمكن أن يكون في حالة "مُحقق" (resolved) أو "مرفوض" (rejected).  يتم التعامل مع الأخطاء باستخدام طريقة `.catch()`.
*  '''الوعود (Promises):''' الوعود توفر طريقة أكثر تنظيماً لمعالجة الأخطاء غير المتزامنة باستخدام طريقة `.catch()`.


```javascript
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])javascript
someAsyncFunction()
    fetch('https://example.com/api/data')
  .then(result => {
      .then(response => response.json())
    console.log(result);
      .catch(error => {
  })
        console.error("حدث خطأ أثناء جلب البيانات:", error);
  .catch(error => {
      });
    // معالجة الخطأ
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])
    console.error("حدث خطأ:", error);
  });
```


'''4. Async/Await'''
'''async/await:''' `async/await` تجعل التعليمات البرمجية غير المتزامنة تبدو وكأنها متزامنة، مما يسمح باستخدام كتل `try...catch` لمعالجة الأخطاء.


`async/await` هي طريقة حديثة للتعامل مع العمليات غير المتزامنة تجعل الكود يبدو أكثر شبهاً بالكود المتزامن.  يتم استخدام `try...catch` مع `async/await` للتعامل مع الأخطاء.
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])javascript
    async function fetchData() {
      try {
        const response = await fetch('https://example.com/api/data');
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error("حدث خطأ أثناء جلب البيانات:", error);
      }
    }
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])


```javascript
=== معالجة الأخطاء غير المعالجة ===
async function myFunction() {
  try {
    const result = await someAsyncFunction();
    console.log(result);
  } catch (error) {
    // معالجة الخطأ
    console.error("حدث خطأ:", error);
  }
}


myFunction();
في بعض الحالات، قد تحدث أخطاء غير معالجة، أي أنها لا يتم التقاطها بواسطة أي من آليات معالجة الأخطاء المذكورة أعلاه. يمكن أن يؤدي ذلك إلى إنهاء العملية بشكل غير متوقع. لحماية تطبيقك من ذلك، يمكنك استخدام الأحداث التالية:
```


'''5. التعامل مع الأخطاء غير المعالجة (Unhandled Rejections)'''
'''`process.on('uncaughtException')` :''' يتم تشغيل هذا الحدث عندما يحدث خطأ غير معالج في أي مكان في التطبيق.
*  '''`process.on('unhandledRejection')` :''' يتم تشغيل هذا الحدث عندما يتم رفض وعد (Promise) دون أن يتم التقاطه بواسطة `.catch()`.


في حالة رفض وعد (Promise) بدون وجود معالج `.catch()`، يعتبر هذا "رفضًا غير معالج".  يمكن أن يؤدي هذا إلى تعطل التطبيق. يمكن التعامل مع الرفضات غير المعالجة باستخدام حدث `unhandledRejection`.
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])javascript
    process.on('uncaughtException', (err) => {
      console.error('خطأ غير معالج:', err);
      // قم بتسجيل الخطأ وإعادة تشغيل التطبيق أو اتخاذ إجراء مناسب.
    });


```javascript
    process.on('unhandledRejection', (reason, promise) => {
process.on('unhandledRejection', (reason, promise) => {
      console.error('رفض غير معالج:', reason);
  console.error('رفض غير معالج:', reason);
      // قم بتسجيل الخطأ واتخاذ إجراء مناسب.
  // يمكن هنا تسجيل الخطأ أو اتخاذ إجراءات أخرى
    });
});
    [[User:Admin|Admin]] ([[User talk:Admin|talk]])
```


'''أفضل الممارسات لمعالجة الأخطاء'''
=== وحدات معالجة الأخطاء الإضافية ===


*  '''كن محددًا:''' حاول تحديد أنواع الأخطاء التي قد تحدث وقم بمعالجتها بشكل خاص.
*  '''`domain` Module:''' (مهملة) كانت وحدة `domain` تستخدم في السابق لمعالجة الأخطاء، ولكنها الآن مهملة ويفضل استخدام آليات معالجة الأخطاء الحديثة.
*  '''سجل الأخطاء:''' استخدم مكتبة تسجيل (logging) لتسجيل الأخطاء في ملف أو قاعدة بيانات.  [[Winston]] و [[Morgan]] من المكتبات الشائعة.
*  '''`util.promisify` :''' تحويل ردود النداء إلى وعود لتسهيل معالجة الأخطاء باستخدام `.catch()`.
*  '''قدم رسائل خطأ مفيدة:''' اجعل رسائل الخطأ واضحة وموجزة وتوفر معلومات كافية للمستخدم أو المطور لإصلاح المشكلة.
*  '''`winston` أو `pino` :''' مكتبات تسجيل قوية لتسجيل الأخطاء والمعلومات الأخرى المفيدة لتصحيح الأخطاء.
*  '''لا تخفي الأخطاء:''' لا تقم بإخفاء الأخطاء ببساطة. بدلاً من ذلك، قم بمعالجتها بشكل صحيح أو أعد إلقاءها (re-throw) إذا لم تتمكن من معالجتها.
*  '''استخدم أدوات المراقبة:''' استخدم أدوات المراقبة (monitoring) لمراقبة أداء التطبيق واكتشاف الأخطاء في الوقت الفعلي.  [[New Relic]] و [[Datadog]] من الأدوات الشائعة.


'''الخلاصة'''
=== أفضل الممارسات لمعالجة الأخطاء ===


معالجة الأخطاء هي جزء أساسي من تطوير تطبيقات [[نود جي إس]] موثوقة. من خلال فهم أنواع الأخطاء المختلفة واستخدام الطرق المناسبة للتعامل معها، يمكنك بناء تطبيقات أكثر قوة واستقرارًا. تذكر أن معالجة الأخطاء ليست مجرد مسألة منع التعطل؛ إنها أيضًا مسألة تقديم تجربة مستخدم أفضل وتسهيل عملية التصحيح.
*  '''كن محدداً:''' حاول التقاط أنواع معينة من الأخطاء بدلاً من التقاط جميع الأخطاء بشكل عام.
*  '''سجل الأخطاء:''' سجل الأخطاء في ملف أو قاعدة بيانات لتحليلها لاحقاً.
*  '''قم بإبلاغ المستخدمين:''' قدم رسائل خطأ مفيدة للمستخدمين، مع تجنب الكشف عن معلومات حساسة.
*  '''تعامل مع الأخطاء بشكل صحيح:''' اتخذ الإجراءات المناسبة للتعامل مع الأخطاء، مثل إعادة المحاولة أو العودة إلى حالة افتراضية.
*  '''اختبر معالجة الأخطاء:''' تأكد من أن معالجة الأخطاء الخاصة بك تعمل بشكل صحيح عن طريق اختبارها.


'''روابط ذات صلة'''
=== استراتيجيات تداول الخيارات الثنائية ذات الصلة (لغرض الربط) ===


*  [[نود جي إس]]
*  [[استراتيجية مارتينجال]]
*  [[البرمجة غير المتزامنة]]
*  [[استراتيجية المضاعفة]]
*  [[الوعود (Promises)]]
*  [[Async/Await]]
*  [[Winston]]
*  [[Morgan]]
*  [[New Relic]]
*  [[Datadog]]
*  [[استراتيجية المتوسط المتحرك]]
*  [[استراتيجية المتوسط المتحرك]]
*  [[استراتيجية اختراق النطاق]]
*  [[استراتيجية الارتداد]]
*  [[استراتيجية بولينجر باندز]]
*  [[استراتيجية RSI]]
*  [[استراتيجية MACD]]
*  [[استراتيجية MACD]]
*  [[استراتيجية RSI]]
*  [[استراتيجية ستوكاستيك]]
*  [[تحليل حجم التداول (Volume Analysis)]]
*  [[استراتيجية Ichimoku Cloud]]
*  [[استراتيجية Fibonacci Retracement]]
*  [[استراتيجية Price Action]]
*  [[استراتيجية التداول المتأرجح]]
*  [[استراتيجية التداول اليومي]]
*  [[استراتيجية Scalping]]
 
=== التحليل الفني وتحليل حجم التداول (لغرض الربط) ===
 
*  [[الشموع اليابانية]]
*  [[الشموع اليابانية]]
*  [[التحليل الفني (Technical Analysis)]]
*  [[مؤشر بولينجر باند]]
*  [[مؤشر ستوكاستيك]]
*  [[نموذج الرأس والكتفين]]
*  [[خطوط الاتجاه]]
*  [[خطوط الاتجاه]]
*  [[مستويات الدعم والمقاومة]]
*  [[مستويات الدعم والمقاومة]]
*  [[حجم التداول]]
*  [[مؤشر القوة النسبية (RSI)]]
*  [[مؤشر الماكد (MACD)]]
*  [[مؤشر ستوكاستيك]]
*  [[مؤشر بولينجر باندز]]
*  [[تحليل فجوة السعر]]
*  [[التحليل الموجي لإليوت]]
*  [[التحليل الأساسي]]
*  [[التحليل الأساسي]]
*  [[إدارة المخاطر]]
*  [[إدارة المخاطر]]
*  [[تنويع المحفظة]]
*  [[تنويع المحفظة]]
*  [[تداول الخيارات الثنائية]]
*  [[تحديد حجم الصفقة]]
*  [[التحليل الموجي إليوت]]
*  [[التحليل الفني المتقدم]]
 
معالجة الأخطاء الفعالة هي جزء أساسي من تطوير تطبيقات Node.js موثوقة وقابلة للصيانة. من خلال فهم أنواع الأخطاء المختلفة واستخدام الآليات المناسبة لمعالجتها، يمكنك التأكد من أن تطبيقك يمكنه التعامل مع الظروف غير المتوقعة بأمان.
 
[[Node.js]]
[[JavaScript]]
[[Error]]
[[fs Module]]
[[fetch API]]
[[Promises]]
[[async/await]]
[[try...catch]]
[[callbacks]]
[[process.on]]
[[Logging]]
[[Debugging]]
[[ECMAScript]]
[[Express.js]]
[[npm]]
[[package.json]]
[[Modules]]
[[Event Loop]]
[[Stream]]
[[Buffer]]
[[HTTP]]
[[HTTPS]]


[[Category:الفئة:برمجة_نود_جي_إس (برمجة Node.js)]]
[[Category:تطوير ويب Node.js]]


== ابدأ التداول الآن ==
== ابدأ التداول الآن ==

Latest revision as of 17:35, 23 April 2025

معالجة الأخطاء في Node.js

Node.js، بيئة التشغيل القوية لبناء تطبيقات JavaScript من جانب الخادم، تتطلب معالجة دقيقة للأخطاء لضمان استقرار التطبيق وموثوقيته. تجاهل الأخطاء يمكن أن يؤدي إلى أعطال غير متوقعة، وفقدان البيانات، وتجربة مستخدم سيئة. هذه المقالة موجهة للمبتدئين في Node.js وتهدف إلى شرح شامل لطرق معالجة الأخطاء المختلفة في هذه البيئة.

أنواع الأخطاء في Node.js

يمكن تصنيف الأخطاء في Node.js إلى عدة أنواع رئيسية:

  • الأخطاء المتزامنة (Synchronous Errors): تحدث هذه الأخطاء أثناء تنفيذ التعليمات البرمجية بشكل مباشر. عادةً ما تكون نتيجة لأخطاء في بناء الجملة أو أخطاء منطقية في التعليمات البرمجية. غالباً ما يتم التعامل معها باستخدام كتل `try...catch`.
  • الأخطاء غير المتزامنة (Asynchronous Errors): تحدث هذه الأخطاء داخل عمليات رد النداء (Callbacks)، أو الوعود (Promises)، أو async/await. التعامل معها أكثر تعقيدًا ويتطلب آليات مختلفة مثل وسيط الخطأ في ردود النداء، أو `.catch()` في الوعود، أو `try...catch` مع `async/await`.
  • أخطاء النظام (System Errors): هذه الأخطاء ناتجة عن مشاكل في نظام التشغيل أو موارد النظام، مثل نفاد الذاكرة أو فشل الوصول إلى الملفات. يمكن التعامل معها باستخدام وحدة Error المدمجة في Node.js.

معالجة الأخطاء المتزامنة

أبسط طريقة لمعالجة الأخطاء المتزامنة هي استخدام كتل `try...catch`. يسمح لك هذا الهيكل بمحاولة تنفيذ كتلة من التعليمات البرمجية، وإذا حدث خطأ، يتم التقاطه في كتلة `catch` لتنفيذ التعليمات البرمجية المناسبة للتعامل مع الخطأ.

Admin (talk)javascript try {

 // التعليمات البرمجية التي قد تتسبب في خطأ
 const result = 10 / 0; // هذا سيؤدي إلى خطأ DivisionByZero
 console.log(result);

} catch (error) {

 // معالجة الخطأ
 console.error("حدث خطأ:", error.message);

} Admin (talk)

معالجة الأخطاء غير المتزامنة

معالجة الأخطاء غير المتزامنة تتطلب استراتيجيات مختلفة:

  • ردود النداء (Callbacks): غالباً ما تتلقى ردود النداء وسيطًا للخطأ كمعاملها الأول. من المهم دائمًا التحقق من وجود خطأ في رد النداء قبل معالجة النتيجة.
   Admin (talk)javascript
   fs.readFile('myfile.txt', function(err, data) {
     if (err) {
       console.error("حدث خطأ أثناء قراءة الملف:", err);
       return;
     }
     console.log(data.toString());
   });
   Admin (talk)
  • الوعود (Promises): الوعود توفر طريقة أكثر تنظيماً لمعالجة الأخطاء غير المتزامنة باستخدام طريقة `.catch()`.
   Admin (talk)javascript
   fetch('https://example.com/api/data')
     .then(response => response.json())
     .catch(error => {
       console.error("حدث خطأ أثناء جلب البيانات:", error);
     });
   Admin (talk)
  • async/await: `async/await` تجعل التعليمات البرمجية غير المتزامنة تبدو وكأنها متزامنة، مما يسمح باستخدام كتل `try...catch` لمعالجة الأخطاء.
   Admin (talk)javascript
   async function fetchData() {
     try {
       const response = await fetch('https://example.com/api/data');
       const data = await response.json();
       console.log(data);
     } catch (error) {
       console.error("حدث خطأ أثناء جلب البيانات:", error);
     }
   }
   Admin (talk)

معالجة الأخطاء غير المعالجة

في بعض الحالات، قد تحدث أخطاء غير معالجة، أي أنها لا يتم التقاطها بواسطة أي من آليات معالجة الأخطاء المذكورة أعلاه. يمكن أن يؤدي ذلك إلى إنهاء العملية بشكل غير متوقع. لحماية تطبيقك من ذلك، يمكنك استخدام الأحداث التالية:

  • `process.on('uncaughtException')` : يتم تشغيل هذا الحدث عندما يحدث خطأ غير معالج في أي مكان في التطبيق.
  • `process.on('unhandledRejection')` : يتم تشغيل هذا الحدث عندما يتم رفض وعد (Promise) دون أن يتم التقاطه بواسطة `.catch()`.
   Admin (talk)javascript
   process.on('uncaughtException', (err) => {
     console.error('خطأ غير معالج:', err);
     // قم بتسجيل الخطأ وإعادة تشغيل التطبيق أو اتخاذ إجراء مناسب.
   });
   process.on('unhandledRejection', (reason, promise) => {
     console.error('رفض غير معالج:', reason);
     // قم بتسجيل الخطأ واتخاذ إجراء مناسب.
   });
   Admin (talk)

وحدات معالجة الأخطاء الإضافية

  • `domain` Module: (مهملة) كانت وحدة `domain` تستخدم في السابق لمعالجة الأخطاء، ولكنها الآن مهملة ويفضل استخدام آليات معالجة الأخطاء الحديثة.
  • `util.promisify` : تحويل ردود النداء إلى وعود لتسهيل معالجة الأخطاء باستخدام `.catch()`.
  • `winston` أو `pino` : مكتبات تسجيل قوية لتسجيل الأخطاء والمعلومات الأخرى المفيدة لتصحيح الأخطاء.

أفضل الممارسات لمعالجة الأخطاء

  • كن محدداً: حاول التقاط أنواع معينة من الأخطاء بدلاً من التقاط جميع الأخطاء بشكل عام.
  • سجل الأخطاء: سجل الأخطاء في ملف أو قاعدة بيانات لتحليلها لاحقاً.
  • قم بإبلاغ المستخدمين: قدم رسائل خطأ مفيدة للمستخدمين، مع تجنب الكشف عن معلومات حساسة.
  • تعامل مع الأخطاء بشكل صحيح: اتخذ الإجراءات المناسبة للتعامل مع الأخطاء، مثل إعادة المحاولة أو العودة إلى حالة افتراضية.
  • اختبر معالجة الأخطاء: تأكد من أن معالجة الأخطاء الخاصة بك تعمل بشكل صحيح عن طريق اختبارها.

استراتيجيات تداول الخيارات الثنائية ذات الصلة (لغرض الربط)

التحليل الفني وتحليل حجم التداول (لغرض الربط)

معالجة الأخطاء الفعالة هي جزء أساسي من تطوير تطبيقات Node.js موثوقة وقابلة للصيانة. من خلال فهم أنواع الأخطاء المختلفة واستخدام الآليات المناسبة لمعالجتها، يمكنك التأكد من أن تطبيقك يمكنه التعامل مع الظروف غير المتوقعة بأمان.

Node.js JavaScript Error fs Module fetch API Promises async/await try...catch callbacks process.on Logging Debugging ECMAScript Express.js npm package.json Modules Event Loop Stream Buffer HTTP HTTPS

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер