اذهب إلى المحتوى

السؤال

نشر

لو سمحتم لديّ مشروع اعمل عليه في بيئة الnode js و قاعدة البيانات mongodb ، و لديّ Api عدّة مثل Post , Get ... ، هل استطيع ان احصل على مساعدة في طريقة استخدام try catch , حتى أضمن ان السيرفر لاحقا لا يسبب مشاكل مع صاحب الموقع ، بهدف انني أرسل جميع الأخطاء التي ممكن تحدث برسالة دون ان يقع الموقع..

Recommended Posts

  • 0
نشر

تضع في كل route الـ try catch وتضع بداخلها الكود الخاص بك وفي حال وجود خطأ ما ترسل رسالة الخطأ كما في المثال ::

app.get('/', async (req, res) => {
  try {
    // تضع الكود الخاص بك هنا مثل
	const data = db.find();
    // إذا كان عندك فلتر وتريد إرسال رسالة خطأ في حال عدم تحققه
    if("شرط ما") return res.status(400)
      .json({message : "bad request code ,There is missing information or the information is wrong"})    
    // في حال تم تنفيذ الكود بنجاح تعيد رسالة النجاح
    return res.status(200).json({message : "successs"} , data)
  } catch (error) {
    // في حال حدوث خطأ تطبع الخطأ
    console.error("error : / : get\n" , error);
    // وتقوم بإرسال استجابة بأن خطأ ما قد وقع
    return res.status(500).json({message : "internal server error"} , error)
  }
})

 

  • 0
نشر

دعنا نفهم كيف تعمل try و catch.

try {

  // الشيفرة...

} catch (err) { // err هو كائن الخطاء

  // التعامل مع الأخطاء

}

أولًا، يتم تنفيذ الشيفرة في try {}‎.

وأن نجح التنفيذ دون أيّ أخطاء، لا يتم تنفذ الكود الكتوب في الدالة catch(err)‎.

إن حدث أيّ خطأ يتوقّف التنفيذ داخل الدالة try ويتم تنفذ الكود الذي بداخل الدالة catch(err)‎, والمتغير err هو كائن الخطاء يمعني أنه يوجد به معلومات الخطاء.

وهذة المقالة تشرح كيفية أستخدام try و catch  مع الأطاء بالتفصيل

وبمكنك عمل أخطاء بنفسك في حالات أنت تختارها حتي تنبه نفسك بأستخدام مُعامل "الرمي" throw.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...