logo

Javaのthrowとthrowsの違い

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(&apos;
Number cannot be divided by 0&apos;); } System.out.println(&apos;Rest of the code..&apos;); } } </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(&apos;Inside the method()&apos;); throw new ArithmeticException(&apos;throwing ArithmeticException&apos;); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println(&apos;caught in main() method&apos;); } } } </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のthrowとthrowsの違い

Java のスローとスローの例

TestThrowAndThrows.java

 public class TestThrowAndThrows { // defining a user-defined method // which throws ArithmeticException static void method() throws ArithmeticException { System.out.println(&apos;Inside the method()&apos;); throw new ArithmeticException(&apos;throwing ArithmeticException&apos;); } //main method public static void main(String args[]) { try { method(); } catch(ArithmeticException e) { System.out.println(&apos;caught in main() method&apos;); } } } 

出力:

Javaのthrowとthrowsの違い