The method nextElement throws NoSuchElementExceptionin Java in Enumeration, next method in NamingEnumeration, etc. It denotes that there are no further elements in the enumeration. This exception is the subclass of the exception of RuntimeException and implements the interface Serializable. In addition to Enumeration, there are some other class throws this exception. The following are the different classes and their methods.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
Syntax, working, constructors, and examples of NoSuchElementException will be explained in the following sections.
Declaration:
Following is the declaration of NoSuchElementException.
public class NoSuchElementExceptionextends RuntimeException
As we know, the exception is an error that occurred during program execution. Program gets terminated, and the lines of code after the line that caused the exception won’t be executed when an exception is thrown. There are different situations whereNosuchElementException is thrown. They are:
Following are the two constructors of NoSuchElementException
Let us see some of the sample programs that throw NoSuchElementException in Java.
Java program to throw NoSuchElementExceptionas there is no element in HashSet.
Code:
import java.util.HashSet; import java.util.Set; //class public class NoExample { //main method public static void main(String[] args) { //create an object for set s Set s = new HashSet(); //select the next element s.iterator().next(); } }
Output:
In this program, a hashset is created first, and the next element in the set is selected using the next() method. As there is no element in the set, NoSuchElementException is thrown. In order to avoid this, a check can be given before iterating the setas shown below.
import java.util.HashSet; import java.util.Iterator; import java.util.Set; //class public class NoExample { //main method public static void main(String[] args) { Set e = new HashSet(); Iterator it = e.iterator(); //checks whether any element is present while(it.hasNext()) { System.out.println(it.next()); } } }
To check the presence of elements, a while loop and an iterator are added to the existing program. If this code is executed, it can be seen that no exceptions are thrown.
Java program to throw NoSuchElementException as there is no element in HashTable
Code:
import java.util.Hashtable; //class public class NoExample { //main method public static void main(String[] args) { //create an object for hashtable s Hashtable s = new Hashtable(); //select the next element s.elements().nextElement(); } }
Output:
In this program, a hash table is created first, and the next element in the table is selected using the nextElement() method. As there is no element in the table, NoSuchElementException is thrown. In order to avoid this, a check can be given before iterating the table, as shown below.
import java.util.Hashtable; import java.util.Iterator; import java.util.Set; //class public class NoExample { //main method public static void main(String[] args) { //create an object for hashtable s Hashtable s = new Hashtable(); Set<String>k = s.keySet(); Iterator<String>i = k.iterator(); while (i.hasNext()) { System.out.println(i.next()); } } }
In order to check the presence of elements, a while loop, a set, and an iterator is added to the existing program. If this code is executed, it can be seen that no exceptions are thrown.
Java program to throw NoSuchElementException as there is no element in StringTokenizer and Enumeration.
Code:
import java.util.Enumeration; import java.util.Hashtable; import java.util.StringTokenizer; //class public class NoExample { private final static int el = 2; //main method public static void main(String[] args) { //declare a string String sn= "Happy Days never ends"; Hashtable s= new Hashtable(el); Enumeration t = s.elements(); //create an object for StringTokenizer StringTokenizer st = new StringTokenizer(sn, " "); //Print the tokens System.out.println(st.nextToken()); System.out.println(st.nextToken()); System.out.println(st.nextToken()); System.out.println(st.nextToken()); System.out.println(st.nextToken()); st.nextToken(); st.nextElement(); System.out.println(t.nextElement()); System.out.println(t.nextElement()); } }
Output:
In this program, a StringTokenizer is created first, and tokens are selected five times. As there are only four tokens, NoSuchElementException is thrown. In order to avoid this, a check can be given before iterating the Tokenizeras shown below.
import java.util.Enumeration; import java.util.Hashtable; import java.util.StringTokenizer; //class public class NoExample { private final static int el = 2; //main method public static void main(String[] args) { //declare a string String sn= "Happy Days never ends"; Hashtable s= new Hashtable(el); Enumeration t = s.elements(); //create an object for StringTokenizer StringTokenizer st = new StringTokenizer(sn, " "); while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
In order to check the presence of elements, a while loop is added to the existing program. If this code is executed, it can be seen that no exceptions are thrown.
NoSuchElementException is an exception that is thrown when there are no elements retrieved on calling the method next( ) and nextElement( ) in classes Iterator, StringTokenizer, Enumeration and NamingEnumeration. In this article, different aspects such as the declaration, working, constructors, and examples of NoSuchElementException is explained in detail.
The above is the detailed content of Java NoSuchElementException. For more information, please follow other related articles on the PHP Chinese website!