logo

Java tilpasset undtagelse

I Java kan vi oprette vores egne undtagelser, der er afledte klasser af undtagelsesklassen. Oprettelse af vores egen undtagelse er kendt som brugerdefineret undtagelse eller brugerdefineret undtagelse. Grundlæggende bruges tilpassede Java-undtagelser til at tilpasse undtagelsen efter brugerbehov.

Overvej eksempel 1, hvor InvalidAgeException-klassen udvider Exception-klassen.

Ved at bruge den tilpassede undtagelse kan vi have din egen undtagelse og besked. Her har vi sendt en streng til konstruktøren af ​​superklassen, dvs. undtagelsesklassen, der kan opnås ved hjælp af getMessage() metoden på det objekt, vi har oprettet.

I dette afsnit lærer vi, hvordan tilpassede undtagelser implementeres og bruges i Java-programmer.

Hvorfor bruge tilpassede undtagelser?

Java-undtagelser dækker næsten alle de generelle typer undtagelser, der kan forekomme i programmeringen. Men nogle gange er vi nødt til at oprette tilpassede undtagelser.

Følgende er nogle af grundene til at bruge tilpassede undtagelser:

  • At fange og give specifik behandling til en undergruppe af eksisterende Java-undtagelser.
  • Forretningslogikundtagelser: Disse er undtagelserne relateret til forretningslogik og arbejdsgang. Det er nyttigt for applikationsbrugere eller udviklere at forstå det nøjagtige problem.

For at oprette en tilpasset undtagelse skal vi udvide Exception-klassen, der hører til java.lang-pakken.

Overvej følgende eksempel, hvor vi opretter en tilpasset undtagelse ved navn WrongFileNameException:

 public class WrongFileNameException extends Exception { public WrongFileNameException(String errorMessage) { super(errorMessage); } } 

Bemærk: Vi skal skrive konstruktøren, der tager strengen som fejlmeddelelse, og den kaldes overordnet klassekonstruktør.

Eksempel 1:

Lad os se et simpelt eksempel på tilpasset Java-undtagelse. I den følgende kode tager konstruktøren af ​​InvalidAgeException en streng som et argument. Denne streng sendes til konstruktøren af ​​den overordnede klasse Undtagelse ved hjælp af super() metoden. Også konstruktøren af ​​Exception-klassen kan kaldes uden at bruge en parameter, og det er ikke obligatorisk at kalde super()-metoden.

TestCustomException1.java

 // class representing custom exception class InvalidAgeException extends Exception { public InvalidAgeException (String str) { // calling the constructor of parent Exception super(str); } } // class that uses custom exception InvalidAgeException public class TestCustomException1 { // method to check the age static void validate (int age) throws InvalidAgeException{ if(age <18){ throw an object of user defined exception new invalidageexception('age is not valid to vote'); } else { system.out.println('welcome main method public static void main(string args[]) try calling the validate(13); catch (invalidageexception ex) system.out.println('caught exception'); printing message from invalidageexception system.out.println('exception occured: ' + ex); system.out.println('rest code...'); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/13/java-custom-exception.webp" alt="Java Custom Exception"> <h3>Example 2:</h3> <p> <strong>TestCustomException2.java</strong> </p> <pre> // class representing custom exception class MyCustomException extends Exception { } // class that uses custom exception MyCustomException public class TestCustomException2 { // main method public static void main(String args[]) { try { // throw an object of user defined exception throw new MyCustomException(); } catch (MyCustomException ex) { System.out.println(&apos;Caught the exception&apos;); System.out.println(ex.getMessage()); } System.out.println(&apos;rest of the code...&apos;); } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/13/java-custom-exception-2.webp" alt="Java Custom Exception"> <hr></18){>

Produktion:

ubuntu hvilken kommando
Java tilpasset undtagelse