الانتقال إلى المحتوى الرئيسي

تحويل استثناء جافا إلى سلسلة: ترميز ، طرق ، حلول / اسم الموقع

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

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

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

ومع ذلك ، قد لا توفر طريقة توسترينج() دائما المعلومات الضرورية أو قد لا تسمح لك بفهم جوهر الخطأ الذي حدث تماما. لذلك ، في بعض الأحيان قد يكون من الضروري استخدام أساليب أخرى ، على سبيل المثال ، جيتمسيج() للحصول على رسالة الخطأ فقط ، أو جيتكوس() للحصول على سبب الاستثناء.

  1. تحويل استثناء جافا إلى سلسلة: الترميز والأساليب والحلول
  2. استثناءات الترميز في جافا
  3. طرق لتحويل استثناء إلى سلسلة في جافا
  4. تحويل استثناء إلى سلسلة باستخدام طريقة توسترينغ()
  5. تحويل استثناء إلى سلسلة باستخدام طريقة جيتميسيج()
  6. تحويل استثناء إلى سلسلة باستخدام طريقة برينتستاكتريس()
  7. من حل لتحويل مخصص من استثناء إلى سلسلة في جافا
  8. 1. طريقة جيتستاكستراسسترينغ
  9. 2. طريقة توسترينغ باستخدام جيتمسيج و جيتكوس
  10. 3. مكتبة أباتشي كومونز لانغ
  11. خاتمة

تحويل استثناء جافا إلى سلسلة: الترميز والأساليب والحلول

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

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

الطريقة 1: استخدام طريقة توسترينج ()

، والتي ترجع تمثيل سلسلة الاستثناء. على سبيل المثال:

محاولة {

سلسلة استثناء سلسلة = ه. توسترينغ();

النظام.خارج.برينتلن (إستثناءسلسلة);

}

جيتمساج()

إرجاع رسالة خطأ تتعلق استثناء. على سبيل المثال:

سلسلة استثناء رسالة = ه. جيتمسيج();

النظام.خارج.برينتلن (إستثناءرسالة);

}

الطريقة 3: استخدام طريقة برينتستاكتريس ()

برينتستاكتريس()

إخراج مكدس الاستدعاءات الكامل ، بما في ذلك رسائل الخطأ المتعلقة بالاستثناء. على سبيل المثال:

محاولة {

// رمز يمكن أن يسبب استثناء

} قبض (استثناء ه) {

ه. برينتستاكتريس();

}

  • الطريقة 4: باستخدام سترينغريتر و برينتريتر
  • إذا كنت بحاجة إلى تحويل استثناء إلى سلسلة لمزيد من المعالجة أو الكتابة إلى ملف ، يمكنك استخدام الفئات
  • سترينغريتر

و

برينتريتر

. على سبيل المثال:

محاولة {

  1. // رمز يمكن أن يسبب استثناء
  2. } قبض (استثناء ه) {
  3. سترينغريتر سو = سترينغريتر جديد();

برينتوريتر بو = نيو برينتوريتر (سو);

ه. برينتستاكتريس (بو);

سلسلة استثناء سلسلة = جنوب غرب.توسترينج();

النظام.خارج.برينتلن (إستثناءسلسلة);

}

نتيجة لتنفيذ هذه الطرق ، ستتلقى سلسلة تحتوي على معلومات حول الاستثناء ، بما في ذلك نوعه ورسالته ومكدس الاستدعاءات. يمكن أن تكون هذه المعلومات مفيدة لتصحيح الأخطاء ومعالجة الاستثناءات في برنامجك.

باستخدام هذه الأساليب يسمح لك لتحويل بكفاءة استثناءات جافا في سلسلة واستخدام هذه المعلومات لمزيد من التحليل أو العرض للمستخدم.

استثناءات الترميز في جافا

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

طريقة واحدة لتحويل استثناء إلى سلسلة هو استخدام طريقة توسترينغ (). ترث هذه الطريقة من فئة الكائن ، وتخرج افتراضيا اسم الفئة والرمز ' @ ' ورمز التجزئة للكائن. ومع ذلك ، تتجاوز معظم الاستثناءات هذه الطريقة وتخرج سلسلة إعلامية تحتوي على رسالة خطأ.

طريقة أخرى هي استخدام طريقة جيتمسيج (). يتم تعريف هذه الطريقة في الواجهة القابلة للرمي وإرجاع سلسلة تصف الاستثناء. يمكن استخدامه لتلقي رسالة خطأ وإرسالها إلى المكان الصحيح.

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

إذا كانت الطرق السابقة غير مناسبة ، يمكنك استخدام الفئات من الحزمة java.io لتحويل معلومات الاستثناء إلى سلسلة. على سبيل المثال ، يمكنك استخدام فئة بيتيرايوتبوتستريم لكتابة معلومات الاستثناء إلى صفيف من وحدات البايت ، ثم إنشاء سلسلة من هذا الصفيف.

برينتستاكتريس (): تعرض طريقة برينتستاكتريس () تتبع مكدس مفصل ، بما في ذلك معلومات حول مكان حدوث الاستثناء واسم الفئة والأساليب وأسطر التعليمات البرمجية التي حدث فيها الخطأ.

جيتستاكتريس(): تقوم طريقة جيتستاكتريس() بإرجاع مصفوفة من كائنات نوع ستاكتراسيليمنت التي تمثل تتبع مكدس. يحتوي كل كائن على معلومات حول موقع الاستثناء (اسم الفئة والطريقة وسطر التعليمات البرمجية).

يعتمد اختيار طريقة تحويل استثناء إلى سلسلة على احتياجاتك والمستوى المطلوب من تفاصيل معلومات الاستثناء. إذا كنت تحتاج فقط رسالة خطأ ، استخدم طريقة جيتمسيج (). إذا كنت بحاجة إلى تقرير استثناء مفصل ، بما في ذلك تتبع المكدس ، استخدم طريقة برينتستاكتريس (). إذا كنت ترغب في الوصول إلى معلومات حول أجزاء معينة من المكدس ، يمكنك استخدام طريقة جيتستاكتريس (). باستخدام طريقة توسترينغ () يعطي معلومات عامة حول الاستثناء ، بما في ذلك اسم فئة الاستثناء والرسالة.

تحويل استثناء إلى سلسلة باستخدام طريقة توسترينغ()

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

طريقة توسترينغ () هي جزء من الطبقة القابلة للرمي ، والتي يتم توريث جميع الاستثناءات في جافا. يقوم بإرجاع تمثيل سلسلة للاستثناء ، بما في ذلك نوعه ورسالته ومكدس الاستدعاءات.

تحويل استثناء إلى سلسلة باستخدام طريقة توسترينغ () يمكن القيام به على النحو التالي:

إعلان متغير من نوع قابل للرمي وتهيئته مع استثناء;

استدعاء طريقة توسترينغ () على المتغير ويلقي النتيجة إلى نوع السلسلة;

استخدم السلسلة الناتجة لإخراج استثناء أو التعامل معه.

مثال على استخدام طريقة توسترينج () لتحويل استثناء إلى سلسلة:

محاولة {

// رمز يمكن أن يسبب استثناء

} قبض (رمي ه) {

سلسلة استثناء سلسلة = ه. توسترينغ();

النظام.خارج.برينتلن ("استثناء:" + استثناء);

}

طريقة توسترينغ() بإرجاع سلسلة بالتنسيق التالي:

{نوع الاستثناء}: {رسالة الاستثناء}

على سبيل المثال ، إذا حدث نولبوانتيركسيبتيون مع الرسالة "المرجع إلى الكائن فارغ" ، الأسلوب توسترينغ() بإرجاع السلسلة التالية:

جافا.لانج.نولبونتيركسيبتيون: مرجع الكائن هو نول

إذا لزم الأمر ، يمكنك إضافة معلومات إضافية إلى السلسلة ، على سبيل المثال ، مكدس الاستدعاءات:

محاولة {

// رمز يمكن أن يسبب استثناء

} قبض (رمي ه) {

سلسلة استثناء سلسلة = ه. توسترينغ ()+"

"+جيتستاكستراسسترينغ (ه);

النظام.خارج.برينتلن ("استثناء:" + استثناء);