Heim  >  Artikel  >  Java  >  Java RuntimeException

Java RuntimeException

WBOY
WBOYOriginal
2024-08-30 16:14:06258Durchsuche

Ausnahmen werden ausgelöst, wenn beim Ausführen eines Codes in Java ein Fehler auftritt. RuntimeException in Java ist diejenige, die als übergeordnete Klasse aller Ausnahmen in der Programmiersprache Java bezeichnet wird, die während der Ausführung des Programms oder der Anwendung entweder abstürzen oder zusammenbrechen, wenn sie auftreten. Aber im Vergleich zu anderen Ausnahmen sind diese unterschiedlich und können nicht wie bei anderen durch Angabe im Code abgefangen werden.

Funktionsweise von RuntimeException in Java

Es gehört zur übergeordneten Klasse von Exception in der Reihenfolge Object -> Wurffähig -> Ausnahme ->RuntimeException. Daher kann es als Oberklasse aller Ausnahmen bezeichnet werden, die beim Ausführen der regulären Vorgänge der JVM (Java Virtual Machine) ausgelöst werden können. Diese RuntimeException und ihre Unterklassen fallen unter eine Klasse von Ausnahmen, die als „ungeprüfte Ausnahmen“ bezeichnet werden. Diese können und müssen nicht in der Klausel des Konstruktors oder der Methode angegeben werden.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Konstruktoren von RuntimeException in Java

Unten sind die Konstruktoren von RuntimeException:

1. RuntimeException (): Dies löst die neue Laufzeitausnahme aus, deren detaillierte Meldung null ist.

Syntax:

public RuntimeException()

Die Ursache hier wird nicht initialisiert und kann durch Aufruf der Klasse Throwable.initCause (java.lang.Throwable) behoben werden.

2. RuntimeException (String msg): Dies löst ebenfalls eine neue Laufzeitausnahme aus, enthält jedoch die definierte Detailmeldung, die wir im Java-Code bereitgestellt haben.

Syntax:

public RuntimeException (String msg)

Wie bei der obigen Funktion wird die Ursache nicht standardmäßig initialisiert, und das Gleiche kann durch Aufrufen von Throwable.initCause (java.lang.Throwable) erreicht werden. Die Nachricht hier ist die Detailnachricht, die gespeichert wird, um sie später mit der Throwable.getMessage()-Methode abzurufen.

3. RuntimeException (String-Nachricht, auslösbare Ursache): Dies löst eine neue Laufzeitausnahme mit der definierten Fehlermeldung und ihrer Ursache aus.

Syntax:

public RuntimeException (String message, Throwable cause)

Beachten Sie, dass die Nachricht hier nicht automatisch enthalten ist und explizit angegeben werden muss. Hier wird die Ursache von der Funktion Throwable.getCause() abgerufen, und hier ist ein Nullwert zulässig, der symbolisiert, dass die Ursache nicht existiert oder unbekannt ist.

4. RuntimeException (String msg, Throwable Cause, booleanenableSupp, booleanwritableStack): Dies gibt eine neue Laufzeitausnahme mit der beschriebenen Fehlermeldung im Detail, ihrer spezifischen Ursache, enableSupp, die angibt, ob ihre Unterdrückung aktiviert oder deaktiviert wurde, und dem writableStack, der sie ist Stack-Trace, wenn es aktiviert oder deaktiviert ist.

Syntax:

protected RuntimeException (String message,
Throwable cause,
booleanenableSuppression,
booleanwritableStackTrace)

Dies gibt eine neue Laufzeitausnahme mit der definierten Ursache und einer angegebenen Detailmeldung, ihrer Ursache, ob die Unterdrückung aktiviert oder deaktiviert ist und ob der beschreibbare Stack-Trace aktiviert wurde oder nicht. Die Nachricht hier ist die spezifische Nachricht, die wir anzeigen, die Ursache gibt an, ob sie vorhanden ist oder nicht, „enableSuppression“ gibt an, ob die Unterdrückung zulässig ist oder nicht, und „writableStackTrace“ gibt an, ob der Stack-Trace beschreibbar sein soll oder nicht.

5. RuntimeException (auslösbare Ursache): Dies löst eine neue Laufzeitausnahme mit der angegebenen Ursache und der angegebenen detaillierten Fehlermeldung der Bedingung (cause==null ? null : Cause.toString ()) aus, die im Wesentlichen die Klasse und ihre Besonderheiten enthält Ursache Meldung.

Syntax:

public RuntimeException (Throwable cause)

Die Ursache wird zum späteren Abrufen durch die Throwable.getCause()-Methode aufbewahrt, und wenn ein Nullwert zulässig ist, bedeutet dies, dass die Ursache nicht bekannt ist.

Wie vermeide ich RuntimeException in Java?

Die Methode, mit der wir solche Ausnahmen vermeiden, nennt sich Ausnahmebehandlung. Dies ist eines der grundlegendsten Dinge, die ein Entwickler beim Codieren beachten sollte, da der gesamte Code unbrauchbar ist, wenn eine Ausnahme auftritt und diese nicht verarbeiten kann.

Wir verwenden bestimmte Klauseln namens „throw“ und „throw“, um geprüfte Ausnahmen in Java zu behandeln. Laufzeitausnahmen treten normalerweise auf, weil die Eingabe fehlerhaft ist und verursachen Ausnahmen wie ArrayIndexOutOfBoundsException, IllegalArgumentException, NumberFormatException oder eine NullPointerException. Durch die Einbeziehung dieser Fehler in den Code ändert sich bei der Handhabung nichts, sie kann jedoch als gute Praxis für die Dokumentation verwendet werden.

Wir können eine Laufzeitausnahme wie folgt benutzerdefiniert definieren:

public class AuthenticateUser extends RuntimeException {
public AuthenticateUser (String msg) {
super (msg);
}
}

Beispiele

Im Folgenden finden Sie Beispiele für vier Hauptarten von Laufzeitausnahmen:

Beispiel #1 – ArrayIndexOutOfBoundsException

Dies geschieht, wenn wir einen Indexwert eines Arrays anfordern, der ungültig oder nicht verfügbar ist.

Code:

public class Main
{
public static void main (String[] args)
{
// Random array of numbers
intip[] = {16, 17, 18, 19, 20};
for (inti=0; i<=ip.length; i++)
System.out.println (ip[i]);
}
}

Output:

Java RuntimeException

As seen in this example, in the input array has its index value from 0 to 4. But in this for loop, the length of the array retrieved will be 5, and when that is tried to access in the array, it will throw the ArrayIndexOutOfBoundsException during RunTime of the code.

Example #2 – IllegalArgumentException

The cause of this exception is when the argument format provided is invalid.

Code:

public class Main {
inti;
public void getMark (int score) {
if (score < 0 || score > 100)
throw new IllegalArgumentException (Integer.toString (score));
else
i = score;
}
public static void main (String[] args) {
Main t = new Main ();
t.getMark (30);
System.out.println (t.i);
Main t1 = new Main ();
t1.getMark (120);
System.out.println (t1.i);
}
}

Output:

Java RuntimeException

Here we know that the maximum value of a percentage value is 100. So when we pass the value as 101, we get the Illegal argument exception during run time.

Example #3 – NumberFormatException

This exception is usually thrown when a string is to be converted to a numeric value like either float or integer value, but the form of the string given as input is either illegal or inappropriate.

Code:

public class Main {
// giving input string as null
public static void main (String[] args) {
inti = Integer.parseInt (null);
}
}

Output:

Java RuntimeException

In this example, we are giving the input string to be parsed into an integer as null. Hence the number format exception is thrown.

Example #4 – NullPointerException

This exception occurs when a reference object that the variable is referring to is null.

Code:

public class Main {
public static void main (String[] args) {
Object reference = null;
reference.toString ();
}
}

Output:

Java RuntimeException

In this example, we are creating an object called reference having a null value. The same object is being called for an operation, and hence this error is thrown.

Conclusion: Runtime exceptions are thrown at runtime and hence difficult to be detected during compile time. They are difficult to handle, and the throws clause can only be used to define them but not catch them.

Recommended Article

This is a guide to Java RuntimeException. Here we discuss the Introduction and how to Avoid RuntimeException in Java, and it’s Working along with its examples. You can also go through our other suggested articles to learn more –

  1. Introduction to Heap Sort in Java
  2. Overriding in Java (Examples)
  3. Iterators in C# With Advantages and Disadvantages
  4. Top 10 Java Collection Interview Questions

Das obige ist der detaillierte Inhalt vonJava RuntimeException. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java IOExceptionNächster Artikel:Java IOException