Heim > Java > javaLernprogramm > Hauptteil

Benutzerdefinierte Ausnahmen in Java

王林
Freigeben: 2023-08-24 11:41:08
nach vorne
2058 Leute haben es durchsucht

Benutzerdefinierte Ausnahmen in Java

Sie können in Java Ihre eigenen Ausnahmen erstellen. Sie werden als benutzerdefinierte Ausnahmen oder benutzerdefinierte Ausnahmen bezeichnet.

Um benutzerdefinierte Ausnahmen zu erstellen, erweitern Sie eine der oben genannten Klassen. Um eine Nachricht anzuzeigen, überschreiben Sie die Methode toString() oder rufen Sie den parametrisierten Konstruktor der Oberklasse auf, indem Sie die Nachricht im String-Format umgehen.

MyException(String msg){
   super(msg);
}
Or,
public String toString(){
   return " MyException [Message of your exception]";
}
Nach dem Login kopieren

Erstellen Sie dann in der anderen Klasse, die diese Ausnahme auslösen muss, ein Objekt der von Ihnen erstellten benutzerdefinierten Ausnahmeklasse und lösen Sie die Ausnahme mit dem Schlüsselwort throw aus.

MyException ex = new MyException ();
If(condition……….){
   throw ex;
}
Nach dem Login kopieren

Benutzerdefinierte geprüfte Ausnahmen und benutzerdefinierte ungeprüfte Ausnahmen

  • Alle Ausnahmen müssen Unterklassen von Throwable sein.

  • Wenn Sie eine geprüfte Ausnahme schreiben möchten, die automatisch durch eine Handle- oder Declare-Regel erzwungen wird, müssen Sie die Exception-Klasse erweitern.

  • Wenn Sie eine Laufzeitausnahme schreiben möchten, müssen Sie die RuntimeException-Klasse erweitern.

Beispiel: Benutzerdefinierte geprüfte Ausnahme

Das folgende Java-Programm zeigt, wie eine benutzerdefinierte geprüfte Ausnahme erstellt wird.

Online-Demonstration

import java.util.Scanner;
class NotProperNameException extends Exception {
   NotProperNameException(String msg){
      super(msg);
   }
}
public class CustomCheckedException {
   private String name;
   private int age;
   public static boolean containsAlphabet(String name) {
      for (int i = 0; i < name.length(); i++) {
         char ch = name.charAt(i);
         if (!(ch >= &#39;a&#39; && ch <= &#39;z&#39;)) {
            return false;
         }
      }
      return true;
   }
   public CustomCheckedException(String name, int age){
      if(!containsAlphabet(name)&&name!=null) {
         String msg = "Improper name (Should contain only characters between a to z (all small))";
         NotProperNameException exName = new NotProperNameException(msg);
         throw exName;
      }
      this.name = name;
      this.age = age;
   }
   public void display(){
      System.out.println("Name of the Student: "+this.name );
      System.out.println("Age of the Student: "+this.age );
   }
   public static void main(String args[]) {
      Scanner sc= new Scanner(System.in);
      System.out.println("Enter the name of the person: ");
      String name = sc.next();
      System.out.println("Enter the age of the person: ");
      int age = sc.nextInt();
      CustomCheckedException obj = new CustomCheckedException(name, age);
      obj.display();
   }
}
Nach dem Login kopieren

Ausnahme zur Kompilierungszeit

Beim Kompilieren generiert das obige Programm die folgende Ausnahme.

CustomCheckedException.java:24: error: unreported exception NotProperNameException; must be caught or declared to be thrown
   throw exName;
   ^
1 error
Nach dem Login kopieren

Beispiel: Benutzerdefinierte ungeprüfte Ausnahme

Wenn Sie einfach die Klasse, von der Ihre benutzerdefinierte Ausnahme erbt, in RuntimeException ändern, wird sie zur Laufzeit ausgelöst

class NotProperNameException extends RuntimeException {
   NotProperNameException(String msg){
      super(msg);
   }
}
Nach dem Login kopieren

Wenn Sie Führen Sie das obige Programm aus, ersetzen Sie die NotProperNameException-Klasse durch den obigen Code und führen Sie ihn aus. Die folgende Laufzeitausnahme wird generiert.

Laufzeitausnahme

Enter the name of the person:
Krishna1234
Enter the age of the person:
20
Exception in thread "main" july_set3.NotProperNameException: Improper name (Should contain only characters between a to z (all small))
   at july_set3.CustomCheckedException.<init>(CustomCheckedException.java:25)
   at july_set3.CustomCheckedException.main(CustomCheckedException.java:41)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Ausnahmen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage