Java الإستثناءات الجاهزة في جافا
الإستثناءات التي قد تحدث وقت التشغيل ( Unchecked/Runtime Exceptions )
الإستثناء مع تعريفه | |
---|---|
ArithmeticException
يحدث في حال وجود خطأ في عملية حسابية, مثل في حال قسمت أي عدد على صفر. |
|
ArrayIndexOutOfBoundsException
خطأ يحدث في حال كان رقم الـ index غير موجود في المصفوفة. |
|
StringIndexOutOfBoundsException
خطأ يحدث في حال كان رقم الـ index غير موجود في الـ String . |
|
ArrayStoreException
خطأ يرمى في حال تم تخزين قيمة من نوع آخر في مصفوفة نوعها في الأساس Object . |
|
ClassCastException
خطأ يرمى في حال تم تحويل قيمة نوعها كائن إلى قيمة نوعها كائن و لكن من نوع آخر. |
|
IllegalFormatConversionException
خطأ يحدث في حال لم يتم تحويل القيمة بشكل صحيح. |
|
NegativeArraySizeException
خطأ يرمى في حال تم وضع قيمة أصغر من صفر كعدد عناصر المصفوفة. |
|
NumberFormatException
خطأ يحدث في حال فشلت عملية تحويل قيمة String إلى قيمة تمثل رقم. |
|
NullPointerException
خطأ يحدث في حال قمنا بالتعامل مع كائن لا يحتوي على قيمة أولية, أي يحتوي على القيمة null . |
|
SecurityException
في حال وجود خطأ يسبب مشاكل أمنية. |
أمثلة
الكود التالي يرمي إستثناء نوعه ArithmeticException.
int a = 5/0;
الكود التالي يرمي إستثناء نوعه ArrayIndexOutOfBoundsException.
int[] a = new int[5]; a[10] = 50;
الكود التالي يرمي إستثناء نوعه StringIndexOutOfBoundsException.
String s = "Welcome to harmash.com"; System.out.println(s.charAt(30));
الكود التالي يرمي إستثناء نوعه ArrayStoreException.
Object x[] = new String[3]; x[0] = new Integer(0);
الكود التالي يرمي إستثناء نوعه ClassCastException.
Object x = new Integer(0); System.out.println((String)x);
الكود التالي يرمي إستثناء نوعه IllegalFormatConversionException.
System.out.printf("value: %d", 5.5f);
الكود التالي يرمي إستثناء نوعه NegativeArraySizeException.
int[] a = new int[-8];
الكود التالي يرمي إستثناء نوعه NumberFormatException.
String s = "abcd"; int number = Integer.parseInt(s);
الكود التالي يرمي إستثناء نوعه NullPointerException.
Object obj = null; obj.hashCode();
الإستثناءات التي قد تظهر قبل التشغيل ( Checked Exceptions )
الإستثناء مع تعريفه | |
---|---|
ClassNotFoundException
خطأ يحدث في حال كان إسم الكلاس الذي قمنا باستخدامه غير موجود. |
|
IllegalAccessException
خطأ يحدث في حال عدم وجود صلاحيات تسمح بالوصول إلى محتوى الكلاس. |
|
InstantiationException
خطأ يحدث في حال محاولة إنشاء كائن من كلاس نوعه abstract أو من interface . |
|
InterruptedException
خطأ يحدث في حال إنقطع الـ Thread بسبب Thread آخر. |
|
NoSuchFieldException
خطأ يحدث في حال كان الحقل المطلوب غير موجود. |
|
NoSuchMethodException
خطأ يحدث في حال كانت الدالة المطلوبة غير موجودة. |