Heittää avainsanan sisään Java

⚡ Älykäs yhteenveto

Heittää avainsanan sisään Java käytetään metodin määrittelyssä ilmoittamaan tarkistetut poikkeukset, joita metodi saattaa aiheuttaa suorituksen aikana. Se delegoi poikkeusten käsittelyn kutsuvalle metodille sen sijaan, että pakottaisi try-catch-lohkon sisään.

  • 📢 Heittojen määritelmä: Määrittelee metodin mahdollisesti herättämät poikkeukset, jotta kutsujat voivat käsitellä ne.
  • 🧱 Syntaksi: Sijoitetaan metodin allekirjoituksen jälkeen, esim. method(args) heittää Exception1, Exception2.
  • 🔁 Kaksi vaihtoehtoa: Käsittele poikkeus try-catch-lausekkeella tai määritä se throw-lausekkeella.
  • 🇧🇷 heitto vs. heitot: throw herättää yhden poikkeusobjektin; throws listaa yhden tai useamman niistä allekirjoituksessa.
  • ⚠️ Kääntäjän sääntö: Tarkistetut poikkeukset on joko pyydystettävä tai ilmoitettava, tai kääntäminen epäonnistuu.

Heittää avainsanan sisään Java

Java Heittää avainsanan

Java heittää avainsanan käytetään ilmoittamaan ohjelman suorittamisen aikana mahdollisesti ilmenevät poikkeustiedot. Se antaa ohjelmoijalle tietoa poikkeuksesta. On parempi antaa poikkeusten käsittelykoodi, jotta ohjelman suorittamisen normaali kulku voidaan säilyttää.

Java Heitä poikkeussyntaksi

Oletetaan, että käytät Java-ohjelmassasi kirjastomenetelmää, joka heittää poikkeuksen


Java heittää avainsanan

Ohjelmassasi käsittelet tätä poikkeusta try & catch -toiminnolla.

import java.io.*;
class file1{
  public static void main(String[] args) {
     try{
           FileWriter file = new FileWriter("c:\\Data1.txt");
           file.write("Guru99");
           file.close();
    }
    catch(IOException){}
  }
}

Jos poikkeusta ei käsitellä try-catch-lohkossa, kääntäminen epäonnistuu. Lähes kaikki muut Java-kirjaston metodit tai jopa käyttäjän määrittämät metodit saattavat heittää poikkeuksen tai kaksi. Kaikkien poikkeusten käsittely try- ja catch-lohkojen avulla voi olla hankalaa ja hidastaa koodarin suorituskykyä.

Joten java tarjoaa vaihtoehdon, jossa aina kun käytät riskialtista koodinpätkää menetelmän määrittelyssä, ilmoitat sen heittää poikkeus ilman try catch -toteutusta.

Java Heitä poikkeussyntaksi

method (Arguments) throws Exception1,Exception2,Exception,… {}

Heittää avainsanan sisään Java esimerkki

Harkitse samaa esimerkkiä kuin edellä heitoilla menetelmän määrittelyssä.

import java.io.*;
class file1{
    public static void main(String[] args) throws IOException{
      FileWriter file = new FileWriter("c:\\Data1.txt");
      file.write("Guru99");
      file.close();
    }
}

Huomautus: Yllä olevien koodien suorittamiseksi onnistuneesti luo ensin tyhjä tekstitiedosto nimeltä Data1.txt C-asemallesi. Yhteenvetona voidaan käsitellä poikkeuksia kahdella tavalla:

  1. Laita poikkeuksen aiheuttava koodi try and catch -lohkoon.
  2. Ilmoita menetelmäksi poikkeuksen tekeminen

Jos jompaakumpaa edellä mainituista ei tehdä, kääntäjä antaa virheen. Tämän säännön täytäntöönpanon ideana on, että olet ohjelmoijana tietoinen siitä, että tietty koodinpätkä voi olla riskialtista ja aiheuttaa poikkeuksen.

Mitä eroa heitoilla ja heitoilla on?

heittää heittää
Sitä käytetään uuden poikkeusobjektin luomiseen ja sen heittämiseen Sitä käytetään menetelmän määrittelyssä ilmoittamaan, että riskialtista menetelmää kutsutaan.
Heitto-avainsanalla voit ilmoittaa vain yhden poikkeuksen kerrallaan Heitto-avainsanalla voit ilmoittaa useita poikkeuksia kerrallaan.
Esimerkiksi: heittää uusi IOException("ei voi avata yhteyttä"); Esimerkiksi: heittää IOExceptionin, ArrayIndexBoundExceptionin;

UKK

Avainsana throw herättää yhden poikkeusobjektin metodin rungossa, kun taas avainsana throws esiintyy metodin allekirjoituksessa määrittämään yhden tai useamman poikkeuksen, jotka metodi voi välittää kutsujalleen.

Kyllä. Yksi throws-lauseke voi listata useita pilkuilla erotettuja poikkeuksia, esimerkiksi throws IOException, SQLException. Kutsuvan metodin on sitten käsiteltävä tai määriteltävä jokainen niistä.

Ei. Tarkistamattomia poikkeuksia (RuntimeExceptionin aliluokkia) ei tarvitse määrittää heittolausekkeilla. Kääntäjä pakottaa määrittelyn tai käsittelyn vain tarkistetuille poikkeuksille, kuten IOExceptionille.

Tekoäly voi ehdottaa sopivia try-catch-lohkoja, suositella poikkeuksen catch-tyyppistä käsittelyä tai julistamista, luoda merkityksellisiä virheilmoituksia ja havaita nieltyjä poikkeuksia.ping kehittäjät kirjoittavat turvallisempaa ja helpommin ylläpidettävää virheidenkäsittelykoodia.

Kyllä. Tekoäly voi analysoida metodin rungon, tunnistaa riskialttiita toimintoja, kuten tiedosto- tai verkkoyhteyden, ja suositella tarkistettuja poikkeuksia esitettäväksi throws-lausekkeessa, mikä vähentää puuttuvia määrittelyjä ja käännösvirheitä.

Tiivistä tämä viesti seuraavasti: