Was ist Assertion in Java? Wie man Assertion in Java verwendet

Veröffentlicht: 2021-05-20

Inhaltsverzeichnis

Was ist Assertion in Java?

Die Behauptung in Java wird verwendet, um die Richtigkeit der Annahmen eines Programms sicherzustellen, da die Behauptung als wahr angenommen wird, wenn sie ausgeführt wird. Die Java Virtual Machine gibt einen Fehler namens AssertionError aus, wenn die Behauptung falsch ist. Die Assertion in Java hat ihre Anwendung hauptsächlich zu Testzwecken gefunden. Boolesche Ausdrücke werden zusammen mit Behauptungsanweisungen verwendet. Eine Assertion ist eine Anweisung, und das Schlüsselwort „asset“ wird verwendet, um eine Assertion in Java auszuführen.

Syntax

Im Folgenden finden Sie zwei Möglichkeiten, wie Assertion in Java ausgeführt wird:

1. Behauptungsausdruck;

2. bestätige Ausdruck1: Ausdruck2;

Wie verwendet man Assertion in Java?

Assertions sind in Java standardmäßig deaktiviert. Der folgende Befehl wird verwendet, um sie zu aktivieren:

java-ea-Test

(oder)

java -enableassertions-Test

wobei Test der Name der Java-Datei ist.

Hier ist ein Beispiel, um die Syntax der Assertion zu demonstrieren:

öffentlicher Klassentest

{

public static void main(String[] args)

{

int-Wert = 13;

Wert bestätigen <= 12 : „Nicht Teenager“;

System.out.println(“Das Alter des Teenagers ist ” + Wert);

}

}

Ausgabe

Hier ein Beispiel für die Generierung eines Assertion Errors durch die Java Virtual Machine –

Klassentest

{

public static void main( String args[] )

{

int-Gewicht = 30;

Gewicht behaupten >= 20 : „Übergewicht“;

System.out.println("Gewicht ist "+Wert);

}

}

Ausgabe

Nachdem Sie Behauptungen aktiviert haben,

Ausgabe

Ausnahme im Thread „main“ java.lang.AssertionError: Overweight

So sieht es aus:

Quelle

Warum Behauptungen verwenden?

Die Behauptung in Java wird verwendet, um:

  • Überprüfen Sie, ob die Annahmen des Programmierers richtig sind oder nicht.
  • Stellen Sie sicher, dass der Code unerreichbar ist, wenn er unerreichbar aussieht.
  • Bestätigen Sie, dass die in den Kommentaren geschriebenen Annahmen korrekt sind, zum Beispiel:

wenn ((y & 1) == 1)

{}

sonst // y muss gerade sein

{ behaupten (y % 2 == 0); }

  • Stellen Sie sicher, dass der Standard-Switch-Fall nicht erreicht wird
  • Überprüfen Sie den Zustand des Objekts

Die Zusicherung in Java wird am Anfang der Methode und nach dem Methodenaufruf verwendet.

Wo werden Behauptungen verwendet?

Die Assertion in Java wird in bedingten Fällen verwendet und wenn Bedingungen am Anfang einer Methode stehen. Auch bei Argumenten zu privaten Methoden. Der Code des Entwicklers liefert private Argumente und wann der Programmierer seine Annahmen bezüglich der Argumente überprüfen muss.

Hier sind einige Situationen, in denen die Verwendung von Behauptungen vermieden werden sollte:

  1. Gemäß den Spezifikationen von Sun Microsystems sollte die Assertion nicht verwendet werden, während Argumente in den öffentlichen Methoden überprüft werden, da dies zu entsprechenden Laufzeitausnahmen wie NullPointerException und IllegalArgumentException führen würde.
  2. Es sollte nicht als Ersatz für Fehlermeldungen verwendet werden.
  3. Wenn Sie nicht möchten, dass in irgendeiner Situation ein Fehler auftritt, überspringen Sie die Verwendung von Assertion.
  4. Es sollte nicht für Befehlszeilenargumente verwendet werden.
  5. Wenn der Benutzer Fehler bereitstellt, sollten Behauptungen nicht verwendet werden, um Argumente in öffentlichen Methoden zu überprüfen. Stattdessen sollte die Fehlerbehandlung verwendet werden.

Wie deaktiviere ich Behauptungen?

Die folgenden Befehle werden verwendet, um die Assertion in Java zu deaktivieren:

java -da -Test

Oder

java – Disableassertions -Test

wobei Test der Name der Java-Datei ist.

Möglichkeiten zur Verwendung von Assertion in Java

Beispiel 1: Java-Assertion

öffentliche Klasse Main {

public static void main(String args[]) {

String[] wochentage = {"Mo", "Di", "Mi", "Do", "Fr"};

behaupten wochentage.länge == 2;

System.out.println("Es gibt ” + weekdays.length + ” Wochentage in einer Woche”);

}

}

Ausgabe

Die folgende Ausgabe wird erzielt, wenn Zusicherungen deaktiviert sind und das Programm keine Kompilierungsfehler aufweist.

Wenn die Zusicherungen aktiviert sind, erhalten wir die folgende Ausgabe:

Ausnahme im Thread „main“ java.lang.AssertionError

Es gibt eine andere Form der Assertion-Anweisung, die wie folgt lautet:

Bedingung bestätigen: Ausdruck;

Diese Form der Assertionsanweisung hat einen Ausdruck, der an den Konstruktor des AssertionError-Objekts übergeben wird. Wenn die Bedingung falsch ist, hat dieser Ausdruck einen Wert, der als Detailmeldung des Fehlers angezeigt wird. Um beim Debuggen des Problems zu helfen, erfasst und überträgt die ausführliche Massage die Assertion-Fehlerinformationen.

Beispiel 2: Java-Assertion mit Beispielausdruck

öffentliche Klasse Main {

public static void main(String args[]) {

String[] wochentage = {"Mo", "Di", "Mi", "Do", "Fr", "Sa"};

assert weekdays.length == 5: „Es gibt nur 5 Wochentage in einer Woche“;;

System.out.println("Es gibt ” + weekdays.length + ” Wochentage in einer Woche”);

}

}

Ausgabe

Ausnahme im Thread „main“ java.lang.AssertionError: Es gibt nur 5 Wochenenden in einer Woche

Wie im obigen Beispiel gezeigt, wird der Ausdruck an den Konstruktor des AssertionError-Objekts übergeben. Da die Zusicherungen aktiviert sind und die Annahme falsch ist, wird eine entsprechende Meldung angezeigt, wenn eine Ausnahme ausgelöst wird. Die Nachricht hilft bei der Diagnose und Behebung des Fehlers, der das Fehlschlagen der Assertion verursacht hat.

Lernen Sie Software-Engineering-Kurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

In diesem Blog haben Sie gelernt, wie Sie Assertionen verwenden, um die Programmlogik zu testen. Sie haben auch gelernt, warum Zusicherungen nicht als Ersatz für Ausnahmen verwendet werden können, und Sie haben Situationen gesehen, in denen die Verwendung einer Ausnahme effektiver wäre als die Behandlung von Ausnahmen.

Wenn Sie mehr über Java erfahren und in Ihrer Programmierkarriere aufsteigen möchten, erkunden Sie die kostenlosen Java-Online-Kurse von upGrad, Indiens größtem Online-Hochschulbildungsunternehmen. Besuchen Sie upGrad für weitere Informationen.

Wenn Sie mehr über Java und die Full-Stack-Softwareentwicklung erfahren möchten, schauen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenges Training bietet, 9+ Projekte und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Was ist Assertion in Java?

In der Programmiersprache Java ist die Zusicherung eine Methode, die verwendet wird, um sicherzustellen, dass einige Anforderungen befolgt werden sollten. Der Behauptungsfehler in Java wird als Kompilierungsfehler betrachtet, dh wenn Ihr Code Behauptungen enthält, wird der Code nicht kompiliert und Sie erhalten eine Fehlermeldung. Mit dieser Funktion von Java können Sie Ihren Code vor unerwarteten oder unerwünschten Laufzeitfehlern schützen. Mit der Java-assert-Anweisung können Sie Invarianten Ihres Programms zur Laufzeit testen. Zusicherungen werden normalerweise verwendet, um zu überprüfen, dass der Code nicht in einen ungültigen Zustand eintritt. In anderen Sprachen sehen Sie möglicherweise Vertragsmethoden oder Vor-/Nachbedingungen, die für diesen Zweck verwendet werden.

Wie behandelt man Ausnahmen in Java?

Eine Ausnahme ist ein Laufzeitfehler, d. h. er tritt auf, während das Programm ausgeführt wird, nicht während der Kompilierung. Die Ausnahme wird ausgelöst, wenn ein Fehler aufgetreten ist und das Programm nicht fortgesetzt werden kann. Sie können Ausnahmen auf drei verschiedene Arten behandeln: Ignorieren Sie die Ausnahme und lassen Sie das Programm beenden. Verwenden Sie das throw-Schlüsselwort, um die Ausnahme erneut auszulösen. Verwenden Sie den Try-Catch-Block, um die Ausnahme zu behandeln. Sie können die Ausnahme protokollieren oder drucken und das Programm dann beenden. Sie können das Schlüsselwort exit verwenden, um das Programm zu beenden. Sie können das throw-Schlüsselwort verwenden, um die Ausnahme erneut auszulösen. Sie können den try-catch-Block verwenden, um die Ausnahme zu behandeln. Es gibt einen catch-Block, der die Ausnahme in seinem Argument akzeptiert. Es gibt einen finally-Block, der ausgeführt wird, unabhängig davon, ob eine Ausnahme ausgelöst wird oder nicht.

Wie funktioniert try-catch in Java?

try-catch ist ein Mechanismus in Java, mit dem Sie einen Bereich definieren können, in dem Sie mit Laufzeitfehlern kontrolliert umgehen können. Es stellt auch sicher, dass der Ausführungsfluss nicht vollständig angehalten wird, wenn ein Fehler auftritt. try und catch sind zwei Schlüsselwörter, die zur Implementierung der Ausnahmebehandlung verwendet werden. Wenn in Ihrem Programm ein Fehler auftritt, wird der try-Block ausgeführt und der Fehler dann vom catch-Block behandelt.