Com gestionar les excepcions personalitzades a Java?



Aquest article us ajudarà a entendre les excepcions personalitzades de Java i donarà suport a l'explicació amb una demostració pràctica del concepte.

proporciona a l'usuari l'opció de crear les seves pròpies excepcions. Aquestes excepcions es coneixen com a excepcions personalitzades o excepcions definides per l'usuari. En aquest article explorarem les excepcions personalitzades a Java.

En aquest article es tractaran les següents indicacions,





Introducció a aquest article sobre excepcions personalitzades a Java.

què és l’herència múltiple a Java

Excepcions personalitzades a Java

Es poden crear excepcions personalitzades de la manera següent,



[Java]
// classe que representa una excepció definida per l'usuari
La classe InvalidAgeException estén l'excepció {
InvalidAgeException (cadenes) {
súper (s)
}
}
[/ java]

// classe que utilitza la prova de classe InvalidAgeException {validate static static (int age) llança InvalidAgeException {if (age<18) throw new InvalidAgeException('Invalid') else System.out.println('Eligible to Drive') } public static void main(String args[]){ try{ validate(15) }catch(Exception m){System.out.println('Exception: '+m)} System.out.println('Exit') } } 

Sortida:

Excepció: InvalidAgeException: no vàlida



Surt

Continuem amb aquest article sobre excepcions personalitzades a Java.

Necessitat d'excepcions personalitzades

Sovint, el programador troba la necessitat d’especificar la seva pròpia excepció.

Les raons per introduir aquestes excepcions podrien ser les següents:

  • Hi ha certes excepcions que es defineixen només per a la lògica i el flux de treball empresarials. Això permet als usuaris determinar l'origen del problema.
  • Per capturar i gestionar les excepcions Java existents o les definides prèviament.

Java proporciona a l'usuari dues excepcions:

  • Excepció de comprovació personalitzada
  • Excepció personalitzada sense marcar

Continuem amb aquest article sobre excepcions personalitzades a Java.

fent un doble a un int java

Excepcions de comprovació personalitzada

Les excepcions comprovades personalitzades són excepcions que amplien java.lang.Exception. Són de naturalesa recuperable i es gestionen explícitament. A l'exemple següent, s'escriu un codi per retornar la primera línia del fitxer com a sortida:

try (Scanner file = new Scanner (new File (fileName))) {if (file.hasNextLine ()) retorna file.nextLine ()} catch (FileNotFoundException e) {}

El codi genera l'excepció FileNotFound. L'usuari desconeix la causa d'aquesta excepció. Desconeixem la font de l'excepció, si s'ha produït a causa de la inexistència del fitxer o a causa d'un nom de fitxer no vàlid. Per implementar una excepció personalitzada, s’estén la classe java.lang.Exception.

public class InvalidFileNameException extends Exception {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Es crea una excepció comprovada personalitzada anomenada InvalidFileNameException.

S'ha de proporcionar un constructor mentre es crea l'excepció. En el nostre cas, el constructor pren String com a missatge d'error i crida al constructor de classe pare.

try (Scanner file = new Scanner (new File (fileName))) {if (file.hasNextLine ()) retorna file.nextLine ()} catch (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {throw new InvalidFileNameException ( 'Nom de fitxer no vàlid:' + nom_fitxer)}}

Tot i que ara l’usuari és conscient de l’excepció exacta, hem perdut la causa principal de l’excepció. Això es pot solucionar afegint java.lang.Throwable al constructor. La InvalidFileNameException ara es pot utilitzar amb la causa arrel de l'excepció:

public InvalidFileNameException (String errorMessage, Throwable err) {super (errorMessage, err)}

Continuem amb aquest article sobre excepcions personalitzades a Java

Excepcions personalitzades sense marcar

Les excepcions comprovades personalitzades amplien java.lang.RuntimeException. Són de naturalesa irrecuperable.

public class InvalidFileExtensionException extends RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Aquesta excepció s'utilitza de la següent manera:

try (Scanner file = new Scanner (new File (fileName))) {if (file.hasNextLine ()) {return file.nextLine ()} else {throw new IllegalArgumentException ('File is not readable.')}} catch ( Error FileNotFoundException) {if (! IsCorrectFileName (fileName)) {llança una nova excepció InvalidFileNameException ('Nom de fitxer no vàlid:' + Nom de fitxer, error)}} catch (IllegalArgumentException err) {if (! ContéExtensió (FileName)) {llança una nova InvalidFileExtensionException (' no té cap extensió: '+ FileName, err)}}

Les excepcions definides per l'usuari són essencials, ja que ens permeten definir excepcions pròpies.

Així hem arribat al final d’aquest article. Si voleu obtenir més informació, consulteu el programa Java Training d’Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate & Spring

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.

analitza la cadena fins a la data java