Kaster søgeord ind Java

⚡ Smart opsummering

Kaster søgeord ind Java bruges i en metodedeklaration til at annoncere de kontrollerede undtagelser, som metoden kan rejse under udførelsen. Den delegerer undtagelseshåndtering til den kaldende metode i stedet for at tvinge en try-catch-blok ind.

  • 📢 Kast defineret: Erklærer de undtagelser, som en metode kan forårsage, så kaldere kan håndtere dem.
  • 🧱 Syntaks: Placeres efter metodesignaturen, f.eks. kaster metode(args) Undtagelse1, Undtagelse2.
  • 🔁 To muligheder: Håndter en undtagelse med try-catch, eller deklarer den med throws.
  • ⚖️ kast vs. kast: throw rejser et enkelt undtagelsesobjekt; throws lister et eller flere i signaturen.
  • ⚠️ Compilerregel: Kontrollerede undtagelser skal enten fanges eller deklareres, ellers mislykkes kompileringen.

Kaster søgeord ind Java

Java Kaster søgeord

Java kaster søgeord bruges til at erklære de undtagelsesoplysninger, der kan forekomme under programafviklingen. Det giver information om undtagelsen til programmøren. Det er bedre at angive undtagelseshåndteringskoden, så det normale flow af programafvikling kan opretholdes.

Java Kast undtagelsessyntaks

Antag, at du i dit java-program bruger en biblioteksmetode, som kaster en undtagelse


Java kaster søgeord

I dit program vil du håndtere denne undtagelse ved hjælp af try & catch.

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){}
  }
}

Hvis du ikke håndterer undtagelsen i en try and catch-blok, vil kompilering mislykkes. Men næsten alle andre metoder i Java-biblioteket eller endda brugerdefinerede metoder kan udløse en eller to undtagelser. Håndtering af alle undtagelserne ved hjælp af try and catch-blokken kan være besværligt og vil hindre koderens gennemløb.

Så java giver en mulighed, hvor hver gang du bruger et risikabelt stykke kode i metodedefinitionen, erklærer du det kaster en undtagelse uden at implementere try catch.

Java Kast undtagelsessyntaks

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

Kaster søgeord ind Java Eksempel

Overvej det samme eksempel som ovenfor med kast i metodeerklæringen.

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();
    }
}

Bemærk: For at udføre ovenstående koder med succes skal du først oprette en tom tekstfil med navnet Data1.txt på dit C-drev. Der er kort sagt to metoder til at håndtere undtagelser:

  1. Sæt koden, der forårsager undtagelsen, i prøv og fang-blokken.
  2. Erklær, at metoden giver en undtagelse

Hvis en af ​​de to ovenstående ikke udføres, compiler giver en fejl. Tanken bag håndhævelsen af ​​denne regel er, at du som programmør er klar over, at et bestemt stykke kode kan være risikabelt og kan medføre en undtagelse.

Hvad er forskellen mellem kast og kast?

kaste kaster
Det bruges til at oprette et nyt Undtagelsesobjekt og smide det Det bruges i metodedefinition for at erklære, at der kaldes en risikabel metode.
Ved at bruge throw nøgleord kan du kun erklære én undtagelse ad gangen Ved at bruge throws nøgleord kan du erklære flere undtagelser ad gangen.
Eksempel: smid ny IOException ("kan ikke åbne forbindelse"); Eksempel: kaster IOException, ArrayIndexBoundException;

Ofte Stillede Spørgsmål

Nøgleordet throw opretter et enkelt exception-objekt i en metodes brødtekst, mens nøgleordet throws vises i metodesignaturen for at deklarere en eller flere exceptions, som metoden kan sende til dens kalder.

Ja. En enkelt throws-klausul kan angive flere undtagelser adskilt af kommaer, for eksempel throws IOException, SQLException. Den kaldende metode skal derefter håndtere eller yderligere deklarere hver af dem.

Nej. Ukontrollerede undtagelser (underklasser af RuntimeException) behøver ikke at blive deklareret med throws. Compileren håndhæver kun deklaration eller håndtering for kontrollerede undtagelser såsom IOException.

AI kan foreslå passende try-catch-blokke, anbefale, om en undtagelse skal catches eller deklareres, generere meningsfulde fejlmeddelelser og detektere slugte undtagelser, helping Udviklere skriver sikrere og mere vedligeholdelig fejlhåndteringskode.

Ja. AI kan analysere en metodes indhold, identificere risikable operationer såsom fil- eller netværksadgang og anbefale de markerede undtagelser at deklarere i throws-klausulen, hvilket reducerer manglende deklarationer og kompileringsfejl.

Opsummer dette indlæg med: