The throw and throws je koncept spracovania výnimiek, kde kľúčové slovo throw vyvolá výnimku explicitne z metódy alebo bloku kódu, zatiaľ čo kľúčové slovo throws sa používa v podpise metódy.
Medzi nimi je veľa rozdielov hodiť a hádže Kľúčové slová. Zoznam rozdielov medzi hodom a hodom je uvedený nižšie:
číslo na reťazec java
Pán č. | Základ rozdielov | hodiť | hádže |
---|---|---|---|
1. | Definícia | Kľúčové slovo Java throw sa používa explicitne v kóde, vo funkcii alebo bloku kódu. | Kľúčové slovo Java throws sa používa v podpise metódy na vyhlásenie výnimky, ktorá môže byť vyvolaná funkciou počas vykonávania kódu. |
2. | Typ výnimky Pomocou kľúčového slova throw môžeme šíriť iba nekontrolovanú výnimku, t. j. kontrolovanú výnimku nemožno šíriť iba pomocou throw. | Pomocou kľúčového slova throws môžeme deklarovať začiarknuté aj nezačiarknuté výnimky. Kľúčové slovo throws však možno použiť len na šírenie začiarknutých výnimiek. | |
3. | Syntax | Po kľúčovom slove throw nasleduje inštancia výnimky, ktorá sa má vyvolať. | Po kľúčovom slove throws nasledujú názvy tried výnimiek, ktoré sa majú vyvolať. |
4. | Vyhlásenie | V rámci metódy sa používa hod. | throws sa používa s podpisom metódy. |
5. | Interná implementácia | Naraz môžeme vyvolať iba jednu výnimku, t. j. nemôžeme vyvolať viacero výnimiek. | Pomocou kľúčového slova throws môžeme deklarovať viacero výnimiek, ktoré môže metóda vyvolať. Napríklad main() vyvolá IOException, SQLException. |
Príklad hádzania Java
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)>
Výkon:
boto3
Java hádže a hádže Príklad
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'); } } }
Výkon:
1)>