throw と throws は例外処理の概念であり、throw キーワードはメソッドまたはコード ブロックから明示的に例外をスローしますが、throws キーワードはメソッドのシグネチャで使用されます。
間には多くの違いがあります 投げる そして 投げる キーワード。 throw と throw の違いのリストを以下に示します。
いいえさん。 | 違いの根拠 | 投げる | 投げる |
---|---|---|---|
1. | 意味 | Java throw キーワードは、コード内、関数またはコードのブロック内で明示的に例外をスローするために使用されます。 | Java throws キーワードは、コードの実行中に関数によってスローされる可能性のある例外を宣言するためにメソッド シグネチャで使用されます。 |
2. | 例外のタイプ throw キーワードを使用すると、チェックされていない例外のみを伝播できます。つまり、チェックされた例外は throw のみを使用して伝播することはできません。 | throws キーワードを使用すると、チェック済み例外と未チェック例外の両方を宣言できます。ただし、 throws キーワードは、チェックされた例外を伝播するためにのみ使用できます。 | |
3. | 構文 | throw キーワードの後には、スローされる Exception のインスタンスが続きます。 | throws キーワードの後には、スローされる例外のクラス名が続きます。 |
4. | 宣言 | throw はメソッド内で使用されます。 | throws はメソッド シグネチャとともに使用されます。 |
5. | 内部実装 | 一度にスローできる例外は 1 つだけです。つまり、複数の例外をスローすることはできません。 | メソッドによってスローできる throws キーワードを使用して、複数の例外を宣言できます。たとえば、main() は IOException や SQLException をスローします。 |
Java スローの例
テストスロー.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)>
出力:
Java のスローとスローの例
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'); } } }
出力:
1)>