Slänger in nyckelord Java

⚡ Smart sammanfattning

Slänger in nyckelord Java används i en metoddeklaration för att meddela de kontrollerade undantag som metoden kan generera under exekvering. Den delegerar undantagshantering till den anropande metoden istället för att tvinga fram ett try-catch-block inuti.

  • 📢 Definierade kast: Deklarerar de undantag som en metod kan orsaka så att anropare kan hantera dem.
  • 🧱 Syntax: Placeras efter metodsignaturen, t.ex. method(args) utlöser Exception1, Exception2.
  • 🔁 Två alternativ: Hantera ett undantag med try-catch, eller deklarera det med throws.
  • ⚖️ kast vs kast: throw genererar ett enda undantagsobjekt; throws listar ett eller flera i signaturen.
  • ⚠️ Kompilatorregel: Kontrollerade undantag måste antingen fångas eller deklareras, annars misslyckas kompileringen.

Slänger in nyckelord Java

Java Kastar nyckelord

Ocuco-landskapet Java kastar nyckelord används för att deklarera undantagsinformationen som kan uppstå under programmets körning. Den ger information om undantaget till programmeraren. Det är bättre att tillhandahålla undantagshanteringskoden så att det normala flödet av programexekvering kan upprätthållas.

Java Kasta undantagssyntax

Anta att du i ditt java-program använder en biblioteksmetod som ger ett undantag


Java kastar nyckelord

I ditt program kommer du att hantera detta undantag med hjälp av försök och fånga.

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

Om du inte hanterar undantaget i ett try-and-catch-block kommer kompileringen att misslyckas. Men nästan alla andra metoder i Java-biblioteket eller till och med användardefinierade metoder kan utlösa ett eller två undantag. Att hantera alla undantag med hjälp av try-and-catch-blocket kan vara besvärligt och hindra kodarens dataflöde.

Så java tillhandahåller ett alternativ, där du deklarerar det när du använder en riskabel kodbit i metoddefinitionen kastar ett undantag utan att implementera try catch.

Java Kasta undantagssyntax

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

Slänger in nyckelord Java Exempelvis

Betrakta samma exempel som ovan med kast i metoddeklarationen.

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

Obs: För att lyckas med ovanstående koder, skapa först en tom textfil med namnet Data1.txt på din C-enhet. Sammanfattningsvis finns det två metoder för att hantera undantag:

  1. Sätt koden som orsakar undantag i försök och fånga blocket.
  2. Deklarera att metoden ger ett undantag

Om någon av de två ovanstående inte görs, kompilator ger ett fel. Tanken bakom att upprätthålla denna regel är att du som programmerare är medveten om att en viss kod kan vara riskabel och kan leda till ett undantag.

Vad är skillnaden mellan kast och kast?

kasta kastar
Det används för att skapa ett nytt undantagsobjekt och kasta det Det används i metoddefinitionen för att förklara att en riskabel metod anropas.
Genom att använda nyckelordet throw kan du bara deklarera ett undantag åt gången Genom att använda nyckelordet throws kan du deklarera flera undantag samtidigt.
Exempel: kasta ny IOException("kan inte öppna anslutningen"); Exempel: kastar IOException, ArrayIndexBoundException;

Vanliga frågor

Nyckelordet throw genererar ett enda undantagsobjekt inuti en metodkropp, medan nyckelordet throws visas i metodsignaturen för att deklarera ett eller flera undantag som metoden kan skicka till sin anropare.

Ja. En enskild throws-klausul kan lista flera undantag separerade med kommatecken, till exempel throws IOException, SQLException. Den anropande metoden måste sedan hantera eller vidaredeklarera vart och ett av dem.

Nej. Okontrollerade undantag (underklasser av RuntimeException) behöver inte deklareras med throws. Kompilatorn framtvingar endast deklaration eller hantering för kontrollerade undantag som IOException.

AI kan föreslå lämpliga try-catch-block, rekommendera om ett undantag ska fångas eller deklareras, generera meningsfulla felmeddelanden och upptäcka slukade undantag, hjälpping utvecklare skriver säkrare och mer underhållbar felhanteringskod.

Ja. AI kan analysera en metodkropp, identifiera riskfyllda operationer som fil- eller nätverksåtkomst och rekommendera att de markerade undantagen deklareras i throws-klausulen, vilket minskar missade deklarationer och kompileringsfel.

Sammanfatta detta inlägg med: