English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
الاستثناءات هي المشاكل التي تحدث أثناء تنفيذ البرنامج (أخطاء تشغيلية). عند حدوث استثناء، يُنهى البرنامج بشكل مفاجئ، ولا يتم تنفيذ الكود بعد السطر الذي تم فيه إطلاق الاستثناء. يتم تمثيل كل استثناء بفئة خاصة به.
هذه استثناءات تشغيلية، أي أنها تحدث أثناء التنفيذ.
إذا حاولت استخراج عنصر من عنصر فارغ أو استخدام طريقة الوصول إلى Enumeration، Iterator أو tokenizer (مثل next() أو nextElement()) لاستكشاف محتويات مجموعة، مصفوفة أو عنصر آخر، فإن محاولة الحصول على العنصر التالي بعد وصولك إلى نهاية العنصر (المجموعة، المصفوفة أو العنصر الآخر) ستجلب NoSuchElementException.
طريقة nextElement() للتحفظ-Vector،HashTable وما إلى ذلك من مجموعات تحتوي على طريقة elements() تعود كائن Enumeration (واجهة) يحتوي على جميع العناصر في المجموعة.
باستخدام هذا الكائن، يمكنك استخدام طريقة nextElement() للحصول على العناصر واحدة تلو الأخرى.
إذا تم استدعاء هذه الطريقة على مجموعة فارغة أو عند الوصول إلى نهاية المجموعة، فإن NoSuchElementException سيتم إنشاؤه في وقت التشغيل.
import java.util.Enumeration; import java.util.Vector; public class EnumExample { public static void main(String args[]) { //إنشاء الفريق Vector<Integer> vec = new Vector<Integer>(); //ملء الفريق vec.add(1254); vec.add(4587); //استخدام التعداد لاسترجاع العناصر Enumeration<Integer> en = vec.elements(); System.out.println(en.nextElement()); System.out.println(en.nextElement()); //للبحث عن العنصر التالي بعد الوصول إلى النهاية System.out.println(en.nextElement()); } }
1254 4587 Exception in thread "main" java.util.NoSuchElementException: Vector Enumeration at java.util.Vector$1.nextElement(Unknown Source) at MyPackage.EnumExample.main(EnumExample.java:18)
طريقة nextElement() وnextToken() لـ StringTokenizer -يقبل كلاس StringTokenizer String وdelimiter كأحد أ参数ات بنائه، ويقوم بتقسيم String المحدد إلى عدة علامات عند كل ظهور للمعلمة المحددة.
هذه الطريقة nextToken() وnextElement() تعود التالي من مولد البطاقات في النص. إذا تم استدعاء هذه الطرق على كائنTokenizer فارغ أو عند استدعاء NoSuchElementException عند الوصول إلى النهاية، فإن NoSuchElementException سيتم إنشاؤه في وقت التشغيل.
import java.util.StringTokenizer; إدراجُ java.util.StringTokenizer; public static void main(String args[]) { مجموعة StringTokenizerExample String str = "مرحبًا كيف أنت أنت"; //مثال على إنشاء كائن StringTokenizer StringTokenizer tokenizer = new StringTokenizer(str, " "); //طباعة جميع التذاكر //طباعة جميع التذاكر //طباعة جميع التذاكر //طباعة جميع التذاكر System.out.println(tokenizer.nextToken()); //للحصول على التوقيع التالي بعد الوصول إلى النهاية tokenizer.nextToken(); } }
tokenizer.nextElement(); مرحبًا كيف أنت استثناء في thread "main" java.util.NoSuchElementException في java.util.StringTokenizer.nextToken (المصدر غير المعروف) في MyPackage.StringTokenizerExample في ملف StringTokenizerExample.java:16
طريقة next() في Iterator -يقدم Java كلاً من Iterator و ListIterator لاسترجاع عناصر عنصر المجموعة. يعود طريقة next() في Iterator إلى العنصر التالي في المجموعة
إذا تم استدعاء هذه الطرق على مجموعة فارغة أو عند التنفيذ النهائي، فإن NoSuchElementException سيتم إنشاؤه
بالمثل، إذا تم استدعاء هذه الطريقة على عنصر فارغ أو في موقع إعلانه، فإن طريقة previous() في ListIterator ستعود إلى العنصر السابق في المجموعة، وتسبب في NoSuchElementException عند التنفيذ
إدراجُ java.util.ArrayList; إدراجُ java.util.Iterator; public class NextElementExample{ public static void main(String args[]) { // إنشاء ArrayList ArrayList<String> list = new ArrayList<String>(); // تعبئة ArrayList list.add("تفاح"); list.add("مانجو"); list.add("تفاحي"); // الحصول على Iterator للArrayList Iterator it = list.iterator(); System.out.println(it.next()); System.out.println(it.next()); System.out.println(it.next()); //للبحث عن العنصر التالي بعد الوصول إلى النهاية it.next(); } }
التفاح المانجو التفاحي استثناء في thread "main" java.util.NoSuchElementException في java.util.ArrayList$Itr في next (المصدر غير المعروف) في MyPackage.NextElementExample في ملف NextElementExample.java:19
إدراجُ java.util.ArrayList; import java.util.ListIterator; public class NextElementExample{ public static void main(String args[]) { // إنشاء ArrayList ArrayList<String> list = new ArrayList<String>(); // تعبئة ArrayList list.add("تفاح"); list.add("مانجو"); list.add("تفاحي"); // الحصول على Iterator للArrayList ListIterator<String> it = list.listIterator(); it.next(); it.next(); it.next(); System.out.println(it.previous()); System.out.println(it.previous()); System.out.println(it.previous()); System.out.println(it.previous()); } }
نتيجة الخروج
التفاحي المانجو التفاح استثناء في thread "main" java.util.NoSuchElementException في java.util.ArrayList$ListItr.previous(Unknown Source) في MyPackage.NextElementExample.main(NextElementExample.java:22)