هذا مثال صغير يقدم معالجة الاستثناءات الأساسية، بما في ذلك الرمي والالتقاط والتأكيد والتسجيل.
تتم إدارة معالجة استثناءات Java من خلال خمس كلمات رئيسية: حاول، وقبض، ورمي، ورميات، وأخيرًا. تتمثل العملية الأساسية في تغليف العبارة المراد مراقبتها باستخدام كتلة عبارة المحاولة. في حالة حدوث استثناء داخل كتلة عبارة المحاولة، سيتم طرح الاستثناء التالي يتم طرح بعض الاستثناءات التي ينشئها النظام تلقائيًا عند تشغيل Java. يمكنك أيضًا الإعلان عن طريقة طرح استثناء من خلال الكلمة الأساسية throws، ثم رمي كائن الاستثناء من خلال throw داخل الطريقة.
انسخ رمز الكود كما يلي:
package com.hongyuan.test;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
الطبقة العامة ExceptionHandleTest {
ثابت {
// تمكين التأكيدات، وسيتم تمكين التأكيدات في الفئات التي تم تحميلها بواسطة أداة تحميل فئة النظام.
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
}
public static void main(String[] args) {
/*
* رمي، قبض
*/
يحاول {
TryCatchTest.run(10, -1);
} قبض (IOException ه) {
printStackTrace();
}
System.out.println(" ============================ = =======================================================]
//سجل
LogerTest.run();
System.out.println(" ============================ = =======================================================]
//التأكيد
AssertTest.div(3,0);
}
}
/*
* التأكيد
*/
اختبار تأكيد الطبقة {
شعبة مزدوجة ثابتة عامة (int b،int a) {
تأكيد a!=0: "هل يعرف معلمك في المدرسة الابتدائية أنك تستخدم هذا؟";
العودة (مزدوج) ب / أ؛
}
}
/*
* سجل
*/
اختبار مسجل الطبقة {
مسجل ثابت خاص logger=null;
ثابت {
// احصل على كائن السجل وحدد مستوى السجل
logger=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(Level.ALL);
}
تشغيل الفراغ الثابت العام () {
//أدخل الطريقة
logger.entering(LogerTest.class.getName(), "run");
// معلومات عامة
logger.info("تعال لإزعاجي مرة أخرى، لقد قمت بتسجيل هذا الحساب !!!");
//تحذير
logger.warning("أنا متعب جدًا، لا أستطيع القيام بهذه المهمة !!!");
//جاد
logger.log(Level.SEVERE,"لقد استقلت!!!^O^");
// طريقة الخروج
logger.exiting(LogerTest.class.getName(), "run");
}
}
/*
* التقاط، رمي
*/
فئة TryCatchTest {
تشغيل الفراغ الثابت العام (int x,int y) يلقي IOException {
حاول{//مطلوب
إذا(س<0||ص<0){
throw new IllegalArgumentException("أنا عاجز عن الكلام، ماذا علي أن أفعل !!!");
}
}catch(الاستثناء e){//اختياري
IOException e1=new IOException("يمكنك اكتشاف ذلك بنفسك!");
e1.initCause(e.getCause());
رمي e1؛
}أخيرًا{//اختياري
System.out.println("أخيرًا عاشوا حياة سعيدة !!! (النهاية)");
}
}
}