The throw and throws er konceptet med undtagelseshåndtering, hvor throw nøgleordet kaster undtagelsen eksplicit fra en metode eller en kodeblok, mens throws nøgleordet bruges som signatur af metoden.
Der er mange forskelle mellem kaste og kaster søgeord. En liste over forskelle mellem kast og kast er givet nedenfor:
hr. nej. | Grundlag for forskelle | kaste | kaster |
---|---|---|---|
1. | Definition | Java throw nøgleord bruges throw en undtagelse eksplicit i koden, inde i funktionen eller kodeblokken. | Java throws nøgleordet bruges i metodesignaturen til at erklære en undtagelse, som kan blive kastet af funktionen under udførelsen af koden. |
2. | Undtagelsestype Ved at bruge et throw-nøgleord kan vi kun udbrede ukontrolleret undtagelse, dvs. den markerede undtagelse kan ikke udbredes kun ved hjælp af throw. | Ved at bruge throws nøgleord kan vi erklære både markerede og umarkerede undtagelser. Dog kan nøgleordet throws kun bruges til at udbrede kontrollerede undtagelser. | |
3. | Syntaks | Kast nøgleordet efterfølges af en forekomst af undtagelse, der skal kastes. | Kaster nøgleordet efterfølges af klassenavne på undtagelser, der skal kastes. |
4. | Erklæring | kaste bruges inden for metoden. | throws bruges med metodesignaturen. |
5. | Intern implementering | Vi har kun lov til at smide én undtagelse ad gangen, dvs. vi kan ikke smide flere undtagelser. | Vi kan erklære flere undtagelser ved at bruge throws nøgleord, der kan kastes af metoden. For eksempel, main() kaster IOException, SQLException. |
Java-kast eksempel
TestThrow.java
public class TestThrow { //defining a method public static void checkNum(int num) { if (num <1) { throw new arithmeticexception(' number is negative, cannot calculate square'); } else system.out.println('square of ' + num (num*num)); main method public static void main(string[] args) testthrow obj="new" testthrow(); obj.checknum(-3); system.out.println('rest the code..'); < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/22/difference-between-throw.webp" alt="Difference between throw and throws in Java"> <h2>Java throws Example</h2> <p> <strong>TestThrows.java</strong> </p> <pre> public class TestThrows { //defining a method public static int divideNum(int m, int n) throws ArithmeticException { int div = m / n; return div; } //main method public static void main(String[] args) { TestThrows obj = new TestThrows(); try { System.out.println(obj.divideNum(45, 0)); } catch (ArithmeticException e){ System.out.println(' Number cannot be divided by 0'); } System.out.println('Rest of the code..'); } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/22/difference-between-throw-2.webp" alt="Difference between throw and throws in Java"> <h2>Java throw and throws Example</h2> <p> <strong>TestThrowAndThrows.java</strong> </p> <pre> public class TestThrowAndThrows { // defining a user-defined method // which throws ArithmeticException static void method() throws ArithmeticException { System.out.println('Inside the method()'); throw new ArithmeticException('throwing ArithmeticException'); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println('caught in main() method'); } } } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/exception-handling/22/difference-between-throw-3.webp" alt="Difference between throw and throws in Java"> <hr></1)>
Produktion:
Java kast og kast Eksempel
TestThrowAndThrows.java
public class TestThrowAndThrows { // defining a user-defined method // which throws ArithmeticException static void method() throws ArithmeticException { System.out.println('Inside the method()'); throw new ArithmeticException('throwing ArithmeticException'); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println('caught in main() method'); } } }
Produktion:
1)>