English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

الفرق بين الاستثناءات وال أخطاء في Java

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

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

الترتيبالمفتاحخطأاستثناء
1
النوع 
تصنيفها كأنواع غير مكتوبة 
تصنيفها كاستثناءات مكتوبة وغير مكتوبة 
2
الباقة 
انه ينتمي إلى java.lang.error 
انه ينتمي إلى java.lang.Exception 
3
قابلة/غير قابلة للإصلاح
هذا غير قابلة للإصلاح
هو قابلة للإصلاح
4 
 لا يمكن أن يحدث في الوقت التنفيذ 
يمكن أن يحدث في الوقت التنفيذ والتحميل 
5
مثال
OutOfMemoryError،IOError 
NullPointerException،SqlException 

مثال خطأ

public class ErrorExample {
   public static void main(String[] args){
      recursiveMethod(10)
   }
   public static void recursiveMethod(int i){
      while(i!=0){
         i=i+1;
         recursiveMethod(i);
      }
   }
}

نتائج الإخراج

استثناء في نواة "الرئيسية" java.lang.StackOverflowError
   في ErrorExample.ErrorExample(Main.java:42)

مثال استثناء

public class ExceptionExample {
   public static void main(String[] args){
      int x = 100;
      int y = 0;
      int z = x / y;
   }
}

نتائج الإخراج

java.lang.ArithmeticException: / by zero
   في استثناء ExampleExample.main(ExceptionExample.java:7)