You are on page 1of 5

‫ً‬

‫أكتب بحثا عن أنواع االستثناءات بالجافا مع ذكر مثال لكل نوع‬


‫مج‬
‫بكود بر ي‬

‫الحكم‬
‫ي‬ ‫عمل الطالب ‪ :‬بشار دمحم دمحم حسن‬
‫ر‬ ‫ر‬
‫اع‬‫إشاف األستاذ ‪ :‬وليد الش ي‬

‫● االستثناءات فً الجافا هً أحداث غٌر متوقعة تحدث أثناء تنفٌذ‬


‫البرنامج وتؤدي إلى توقفه أو تغٌٌر سلوكه ‪.‬‬

‫أنواع االستثناءات‬

‫‪( ArithmeticException -1‬استثناء الحسابات الحسابية) ‪:‬‬


‫يتم طرح هذا االستثناء عند حدوث خطأ يف العمليات الحسابية‪،‬‬
‫مثل القسمة عىل الصفر ‪.‬‬
‫;‪int a = 5‬‬
‫;‪int b = 0‬‬
‫;‪int result = a / b‬‬
‫رم استثناء ‪ ArithmeticException‬هنا ‪//‬‬
‫يتم ي‬

‫‪( NullPointerException -2‬استثناء اإلشارة إىل كائن فارغ) ‪:‬‬


‫يكون )‪ (Object‬يتم طرح هذا االستثناء عندما يتم اإلشارة إىل‬
‫كائن قيمته ‪. null‬‬
‫;‪String str = null‬‬
‫;‪int length() = str.length‬‬
‫رم استثناء هنا ‪NullPointerException‬‬ ‫‪ //‬يتم ي‬
‫‪( ArrayIndexOutOfBoundsException -3‬استثهاء‬
‫تجاوز خدود المصفوفة ) ‪:‬‬
‫يتم طرح وذا الاستثهاء عهدما يتم الوصول إلى عهصر‬
‫في المصفوفة ذارج نطاق الفهرس ‪.‬‬
‫;}‪int[] arr = {1, 2, 3‬‬
‫]‪int element = arr[5‬‬
‫‪ //‬يتم ي‬
‫رم استثناء هنا‬
‫‪ArrayIndexOutOfBoundsException‬‬

‫‪( FileNotFoundException -4‬استثهاء عدم العثور‬


‫على الملف)‪:‬‬
‫يتم طرح وذا الاستثهاء عهدما يتم محاولة فتد ملف‬
‫ولا يتم العثور عليه‪.‬‬
‫‪File file = new File("path/to/nonexistent‬‬
‫;)"‪/file.txt‬‬
‫‪FileInputStream fis = new‬‬
‫يتن رهي ‪FileInputStream(file); //‬‬
‫هنا ‪ FileNotFoundException‬استثناء‬

‫‪(NumberFormatException -5‬استثهاء تهسيق الأرقام)‪:‬‬


‫يتم طرح وذا الاستثهاء عهدما يتم محاولة تحويل‬
‫سلسلة نصية إلى رقم‬
‫وتكون السلسلة غير صالحة‪.‬‬
‫;"‪String str = "abc‬‬
‫يتن ‪int num = Integer.parseInt(str); //‬‬
‫هنا ‪ NumberFormatException‬رهي استثناء‬

‫‪(ClassCastException -6‬استثهاء تحويل الصهف)‪:‬‬


‫يتم طرح وذا الاستثهاء عهدما يتم محاولة تحويل كائن‬
‫إلى نوع غير صحيد ‪.‬‬
‫;)‪Object obj = new Integer(10‬‬
‫يتن رهي ‪String str = (String) obj; //‬‬
‫هنا ‪ ClassCastException‬استثناء‬

‫‪(IllegalArgumentException -7‬استثهاء الوسيطة‬


‫غير صالحة)‪:‬‬
‫يتم طرح وذا الاستثهاء عهدما يتم تمرير وسيطة‬
‫صالحة إلى طريقة‪.‬‬
‫{ )‪public void setAge(int age‬‬
‫{ )‪if (age < 0‬‬
‫‪throw new IllegalArgumentExceptio‬‬
‫;)"‪n("Invalid age‬‬
‫}‬
‫;‪this.age = age‬‬
‫}‬

‫‪)IOException -8‬استثهاء إدذال‪/‬إذراج)‪:‬‬


‫يتم طرح وذا الاستثهاء عهد خدوث ذطأ أثهاء عمليات‬
‫الإدذال والإذراج مع الملفات أو الأجهزة الخارجية‪.‬‬
try {
FileInputStream fis = new FileInputSt
ream("file.txt");
// ‫ قد يتن رهي استثناء‬IOException ‫هن‬
‫ا‬
// ‫ يجب استخدام كلوة الوفتاح‬throws
‫ أو‬try-catch ‫للتعاهل هعه‬
} catch (IOException e) {
e.printStackTrace();
}

‫(استثهاء التوقف‬InterruptedException -9
:)‫المؤقت‬
‫يتم طرح وذا الاستثهاء عهدما يتم توقيف تهفيذ ذيوط‬
. ‫البرنامح بشكل مؤقت‬
try {
Thread.sleep(1000); // ‫يتن رهي استثن‬
‫ اء‬InterruptedException ‫هنا‬
} catch (InterruptedException e) {
e.printStackTrace();
}

:)‫(استثهاء قاعدة البيانات‬SQLException -11

‫يتم طرح وذا الاستثهاء عهد خدوث ذطأ في عمليات قاعدة‬


.‫البيانات‬
try {
Connection conn = DriverManager.getCo
nnection(url, username, password);
Statement stmt = conn.createStatement
();
ResultSet rs = stmt.executeQuery("SEL
ECT * FROM table");
// ‫ قد يتن رهي استثناء‬SQLException ‫ه‬
‫نا‬
// ‫ يجب استخدام كلوة الوفتاح‬throws
‫ أو‬try-catch ‫للتعاهل هعه‬
} catch (SQLException e) {
e.printStackTrace();
}

You might also like