عند تشغيل تعليمات برمجية أو برنامج Java، فإنه إما يقوم بتجميع وتنفيذ أو ظهور خطأ. عندما يرمي رمز ما، فهذا نتيجة إما خطأ أو استثناء.
الخطأ أكثر أهمية. ويحدث خارج نطاق التعليمات البرمجية ولكن داخل البيئة التي يعمل فيها التطبيق. من غير المتوقع أن يكتشف البرنامج الخطأ ويعالجه.
بعض الأمثلة على الأخطاء هي
تحدث الاستثناءات ضمن نطاق الكود. يُعرف أيضًا باسم خطأ التنفيذ مما يعني أنه يحدث أثناء تنفيذ التعليمات البرمجية. من المتوقع أن يتمكن المبرمج من التقاط الاستثناءات في البرنامج والتعامل معها.
ستركز هذه المشاركة بشكل أكبر على الاستثناءات وأخطاء وقت التشغيل على وجه التحديد. سوف تتعلم كل شيء عن الاستثناءات وكيفية التعامل مع أخطاء الاستثناء في برنامج جافا الخاص بك.
هناك ثلاثة أنواع من أخطاء التنفيذ في Java. وفيما يلي تفصيل لكل منهم
يُعرف هذا النوع من الأخطاء بخطأ الترجمة أو الخطأ المحدد. يقوم برنامج Java بطرح هذا الرمز أثناء مرحلة الترجمة.
بمعنى آخر، يحدث هذا الخطأ عندما يتم تجميع كود Javac إلى كود بايت. عادةً ما يحدث خطأ وقت الترجمة بسبب خطأ في بناء جملة التعليمات البرمجية.
على سبيل المثال، عندما يفشل المبرمج في إضافة فاصلة منقوطة في نهاية العبارة أو يفشل في تهيئة متغير قبل الطباعة.
public class JavaExceptionCodes { public static void main (String []args){ int y = 10 //no semicolon System.out.println(y); } }
يُعرف خطأ وقت التشغيل أيضًا باسم خطأ الاستثناء أو الخطأ الذي لم يتم التحقق منه. يحدث أثناء تنفيذ البرنامج. سيتم تجميع التعليمات البرمجية ولكنها ستؤدي إلى حدوث خطأ أثناء وقت التشغيل.
يمكن تصنيف خطأ وقت التشغيل بشكل أكبر إلى استثناءات مضمنة أو استثناءات محددة من قبل المستخدم. تتضمن أمثلة الاستثناءات المضمنة ما يلي:
على سبيل المثال، إذا قام المستخدم بإدخال int بدلاً من سلسلة أو قام بإدراج قيم أكبر من حجم المصفوفة.
public class JavaExceptionCodes { public static void main (String []args) { int nombas[] = {1, 2, 3, 4, 5}; System.out.println(nombas[6]); } } //ArrayIndexOutOfBoundsException
المعروف أيضًا باسم الخطأ الدلالي، ويحدث إذا كان هناك خطأ في الإخراج المنطقي للبرنامج. على سبيل المثال، 3 3 يظهر الناتج 7، أو عند تسجيل الدخول إلى حسابك والانتقال إلى ملف تعريف آخر.
يعد خطأ وقت الترجمة هو الأسهل الذي يمكن اكتشافه لأن IDE الخاص بك سيشير دائمًا إلى هذا الخطأ للمبرمج. الخطأ المنطقي في معظم الأوقات هو أصعب خطأ يمكن رؤيته لأن التعليمات البرمجية لن تؤدي إلى حدوث خطأ في وقت الترجمة أو في وقت التشغيل.
يتم استخدام معالجة الاستثناءات لاكتشاف الأخطاء في البرنامج والحفاظ على التدفق الطبيعي لتنفيذ البرنامج. عادة، بمجرد أن يلقي البرنامج خطأ، سيتوقف تنفيذ التعليمات البرمجية.
سيؤدي اكتشاف الأخطاء ومعالجتها مسبقًا إلى تمكين البرنامج من تخطي كتلة التعليمات البرمجية التي تحتوي على أخطاء ومواصلة تنفيذ بقية البرنامج.
Try – Catch – أخيرًا – Throw – Throws هي قائمة طرق معالجة الاستثناءات في Java. دعونا نقسم كل واحد منهم بالتفصيل مع الأمثلة:
يتم استخدام المحاولة لإحاطة سطر أو كتل من التعليمات البرمجية التي قد تؤدي إلى استثناء. هناك أيضًا محاولة متداخلة وهي عبارة عن محاولة باستخدام كتلة (مجموعات) محاولة داخلية. أنها تخدم نفس الغرض.
بناء الجملة
try{ }
الالتقاط عبارة عن كتلة من التعليمات البرمجية المستخدمة لالتقاط الأخطاء التي يتم طرحها في كتلة المحاولة.
بناء الجملة
try{ } catch (Exception e){ }
كتل التقاط متعددة
public class JavaExceptionCodes { public static void main (String []args) { int x = 10; int y = 0; int z ; int nombas [] = {5, 6, 7, 8, 9}; try { System.out.println(z = x / y); System.out.println(nombas[6]); } catch (ArithmeticException e){ System.out.println("Can't divide by 0. Choose another number" e); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("Array Out Of Bound" e); } System.out.println("End"); } }
أخيرًا، هي مجموعة اختيارية من التعليمات البرمجية، والتي يتم وضعها عادةً بعد مجموعات التعليمات البرمجية للمحاولة والالتقاط. يتم استخدامه لتنفيذ الرموز المهمة. يتم تنفيذ الكتلة الأخيرة دائمًا سواء ألقى البرنامج خطأ أم لا.
بناء الجملة
try{ } catch (Exception e){ } finally{ }
رمي هي كلمة رئيسية تستخدم لطرح استثناء داخل طريقة أو كتلة من التعليمات البرمجية.
بناء الجملة
public class JavaExceptionCodes { public static void main (String []args) { try { throw new ArithmeticException("Try Run"); } catch (ArithmeticException e){ System.out.println("Catch Exception Error"); } } }
بخلاف الكلمة الأساسية throw، لا يتم استخدام الكلمة الأساسية throws لطرح استثناء. ومع ذلك، فإنه يحدد أنه قد يكون هناك استثناء في الأسلوب. يتم استخدام الرميات في توقيع الطريقة وليس داخل الطريقة.
يمكن أن تحتوي كتلة المحاولة على عدة عبارات (أسطر من التعليمات البرمجية). من الأفضل إنشاء كتل التقاط متعددة لاكتشاف الخطأ في كل عبارة.
حدد دائمًا نوع الاستثناء إذا كنت تعمل مع كتل التقاط متعددة.
إذا كانت هناك عبارات متعددة في كتلة المحاولة ولا تعرف العبارة التي تحتوي على الخطأ، فقم بإنشاء استثناء عام نهائي في نهاية الاستثناءات الأخرى لاكتشاف الأخطاء غير المعروفة.
ضع دائمًا كتلة التقاط الاستثناءات العامة في نهاية كتل التقاط الاستثناءات المخصصة الأخرى.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3