Avatar ·

كيفية تحويل StackTrace (مكدس الاستدعاءات) إلى سلسلة نصية في Java؟

مرحبًا بالجميع! أنا مطور Java مبتدئ، وواجهت مشكلة أثناء العمل مع الاستثناءات. أحتاج إلى تسجيل الأخطاء في ملف نصي، لكن الطريقة القياسية printStackTrace() تطبع مكدس الاستدعاءات فقط في وحدة التحكم (System.err). أريد الحصول على مكدس الاستدعاءات الكامل كسلسلة نصية لحفظه في ملف، أو إرساله عبر البريد الإلكتروني، أو ببساطة إخراجه في ملف سجل. إليك مثال على الكود الخاص بي: ```java try { // بعض الكود الذي قد يرمي استثناءً int result = 10 / 0; } catch (Exception e) { // هنا أحتاج إلى الحصول على مكدس الاستدعاءات كسلسلة نصية e.printStackTrace(); // هذا يطبع فقط في وحدة التحكم // وأنا أريد شيئًا مثل: // String stackTraceString = convertStackTraceToString(e); // System.out.println(stackTraceString); // أو الكتابة في ملف } ``` حاولت استخدام e.getMessage() — لكنه يعيد فقط رسالة قصيرة ("/ by zero")، بينما أحتاج إلى مكدس الاستدعاءات الكامل (جميع الأسطر مثل "at com.example.MyClass.myMethod(MyClass.java:15").