Omien Poikkeusten Luominen
Pyyhkäise näyttääksesi valikon
Kun rakennat monimutkaisempia Java-sovelluksia, saatat kohdata virhetilanteita, jotka ovat ainutlaatuisia ohjelmasi logiikalle. Vaikka Java tarjoaa monia sisäänrakennettuja poikkeuksia, joskus mikään niistä ei kuvaa selkeästi tiettyä ongelmaa, jonka haluat ilmoittaa. Näissä tapauksissa voit luoda omia mukautettuja poikkeuksia. Mukautetut poikkeukset mahdollistavat kuvaavien nimien antamisen virhetilanteille, mikä tekee koodistasi helpommin ymmärrettävää, ylläpidettävää ja virheenkorjattavaa. Määrittelemällä poikkeuksia, jotka on räätälöity sovelluksesi tarpeisiin, autat muita kehittäjiä (ja itseäsi tulevaisuudessa) tunnistamaan ja käsittelemään tiettyjä virhetilanteita nopeasti.
Mukautetun poikkeuksen luomiseksi määrittelet uuden luokan, joka perii joko Exception-luokan tai RuntimeException-luokan. Jos poikkeuksen tulee olla tarkistettava (eli kääntäjä pakottaa käsittelemään sen try-catch-lohkon avulla tai ilmoittamaan sen throws-lauseella), periytä Exception. Jos sen tulee olla tarkistamaton (ei kääntäjän valvoma), periytä RuntimeException. Mukautettu poikkeuksesi voi sisältää rakentajia, kenttiä ja metodeja kuten mikä tahansa muu luokka, mutta on tavallista tarjota ainakin rakentaja, joka ottaa vastaan virhettä kuvaavan viestin.
Main.java
123456789101112131415161718192021222324package com.example; class InvalidAgeException extends Exception { public InvalidAgeException(String message) { super(message); } } public class Main { public static void checkAge(int age) throws InvalidAgeException { if (age < 18) { throw new InvalidAgeException("Age must be at least 18."); } System.out.println("Access granted. Age is valid."); } public static void main(String[] args) { try { checkAge(15); } catch (InvalidAgeException e) { System.out.println("Caught exception: " + e.getMessage()); } } }
Yllä olevassa koodissa määritellään oma tarkistettava poikkeus luomalla InvalidAgeException-luokka, joka perii Exception-luokan. Tällä luokalla on konstruktori, joka ottaa virheilmoituksen parametrina. checkAge-metodi heittää InvalidAgeException-poikkeuksen, jos annettu ikä on alle 18.
main-metodissa kutsutaan checkAge(15), mikä laukaisee poikkeuksen. try-catch-lohko ottaa poikkeuksen kiinni ja tulostaa sen viestin. Tämä malli osoittaa, kuinka omia poikkeuksia voidaan käyttää tiettyjen virhetilanteiden käsittelyyn selkeällä ja järjestelmällisellä tavalla.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme