يلقي الكلمة الرئيسية في Java

⚡ ملخص ذكي

يلقي الكلمة الرئيسية في Java يُستخدم هذا الأسلوب في تعريف الدالة للإعلان عن الاستثناءات التي قد تُثار أثناء تنفيذها. وهو يُفوّض معالجة الاستثناءات إلى الدالة المُستدعِية بدلاً من فرض كتلة try-catch داخلها.

  • 📢 تعريف الرميات: يُعلن عن الاستثناءات التي قد يثيرها الأسلوب حتى يتمكن المستدعون من التعامل معها.
  • 🧱 بناء الجملة: يتم وضعها بعد توقيع الطريقة، على سبيل المثال method(args) throws Exception1, Exception2.
  • 🔁 خياران: قم بمعالجة الاستثناء باستخدام try-catch، أو قم بتعريفه باستخدام throws.
  • 🇧🇷 رمي مقابل رميات: تقوم الدالة throw برفع كائن استثناء واحد؛ بينما تقوم الدالة throws بإدراج واحد أو أكثر في التوقيع.
  • ⚠️ قاعدة المُترجم: يجب إما التقاط الاستثناءات التي تم التحقق منها أو الإعلان عنها، وإلا سيفشل التجميع.

يلقي الكلمة الرئيسية في Java

Java يلقي الكلمة الرئيسية

استخدم Java يلقي الكلمة الرئيسية يستخدم للإعلان عن معلومات الاستثناء التي قد تحدث أثناء تنفيذ البرنامج. أنه يعطي معلومات حول الاستثناء للمبرمج. من الأفضل توفير رمز معالجة الاستثناءات حتى يمكن الحفاظ على التدفق الطبيعي لتنفيذ البرنامج.

Java بناء جملة الاستثناء

افترض أنك تستخدم في برنامج Java الخاص بك طريقة مكتبة تطرح استثناءً


Java يلقي الكلمة الرئيسية

في برنامجك، ستتعامل مع هذا الاستثناء باستخدام المحاولة والالتقاط.

import java.io.*;
class file1{
  public static void main(String[] args) {
     try{
           FileWriter file = new FileWriter("c:\\Data1.txt");
           file.write("Guru99");
           file.close();
    }
    catch(IOException){}
  }
}

إذا لم تعالج الاستثناء داخل كتلة try-catch، فسيفشل التجميع. ولكن قد تُطلق جميع الدوال الأخرى تقريبًا في مكتبة جافا، أو حتى الدوال المُعرّفة من قِبل المستخدم، استثناءً أو اثنين. قد يكون التعامل مع جميع الاستثناءات باستخدام كتلة try-catch أمرًا مُرهقًا، وسيُعيق إنتاجية المُبرمج.

لذلك توفر جافا خيارًا، حيث أنه عندما تستخدم جزءًا محفوفًا بالمخاطر من التعليمات البرمجية في تعريف الطريقة، فإنك تعلن عنه يلقي استثناء دون تنفيذ محاولة الصيد.

Java بناء جملة الاستثناء

method (Arguments) throws Exception1,Exception2,Exception,… {}

يلقي الكلمة الرئيسية في Java مثال

ضع في اعتبارك نفس المثال المذكور أعلاه مع الرميات في إعلان الطريقة.

import java.io.*;
class file1{
    public static void main(String[] args) throws IOException{
      FileWriter file = new FileWriter("c:\\Data1.txt");
      file.write("Guru99");
      file.close();
    }
}

ملاحظة: لتنفيذ التعليمات البرمجية المذكورة أعلاه بنجاح، أنشئ أولاً ملفًا نصيًا فارغًا باسم Data1.txt في محرك الأقراص C. باختصار، هناك طريقتان للتعامل مع الاستثناءات:

  1. ضع كود الاستثناء المسبب في كتلة المحاولة والالتقاط.
  2. أعلن عن الطريقة التي سيتم بها طرح استثناء

إذا لم يتم تنفيذ أي من الأمرين السابقين، فإن مترجم يعطي خطأ. الفكرة وراء فرض هذه القاعدة هي أنك كمبرمج تدرك أن جزءًا معينًا من الكود قد يكون محفوفًا بالمخاطر وقد يتسبب في حدوث استثناء.

ما الفرق بين الرمي والرمي؟

رمي يلقي
يتم استخدامه لإنشاء كائن استثناء جديد ورميه يتم استخدامه في تعريف الطريقة للإعلان عن استدعاء طريقة محفوفة بالمخاطر.
باستخدام الكلمة الأساسية throw، يمكنك الإعلان عن استثناء واحد فقط في كل مرة باستخدام الكلمة الأساسية throws، يمكنك إعلان استثناءات متعددة في وقت واحد.
على سبيل المثال: طرح IOException جديد("لا يمكن فتح الاتصال"); على سبيل المثال: يلقي IOException، ArrayIndexBoundException؛

الأسئلة الشائعة

تقوم الكلمة المفتاحية throw برفع كائن استثناء واحد داخل جسم الطريقة، بينما تظهر الكلمة المفتاحية throws في توقيع الطريقة للإعلان عن استثناء واحد أو أكثر قد تمررها الطريقة إلى مستدعيها.

نعم. يمكن لعبارة throws واحدة أن تسرد عدة استثناءات مفصولة بفواصل، على سبيل المثال throws IOException, SQLException. يجب على الدالة المستدعِية حينها معالجة كل استثناء منها أو التصريح عنه بشكل أكبر.

لا. لا يلزم تعريف الاستثناءات غير المُدققة (الفئات الفرعية من RuntimeException) باستخدام throws. يفرض المُصرّف تعريف أو معالجة الاستثناءات المُدققة فقط، مثل IOException.

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

نعم. يمكن للذكاء الاصطناعي تحليل جسم الدالة، وتحديد العمليات الخطرة مثل الوصول إلى الملفات أو الشبكة، والتوصية بالاستثناءات التي تم التحقق منها للإعلان عنها في عبارة throws، مما يقلل من حالات عدم الإعلان وأخطاء التجميع.

تلخيص هذه التدوينة بـ: