Throw ve throws, throw anahtar sözcüğünün istisnayı bir yöntemden veya bir kod bloğundan açıkça attığı, throws anahtar sözcüğünün ise yöntemin imzasında kullanıldığı istisna işleme kavramıdır.
Arasında birçok fark var fırlatmak Ve atar anahtar kelimeler. Atış ve atışlar arasındaki farkların bir listesi aşağıda verilmiştir:
Bay hayır. | Farklılıkların Temeli | fırlatmak | atar |
---|---|---|---|
1. | Tanım | Java throw anahtar sözcüğü, kodda, işlevin veya kod bloğunun içinde açıkça bir istisna atmak için kullanılır. | Java throws anahtar sözcüğü, kodun yürütülmesi sırasında işlev tarafından oluşturulabilecek bir istisnayı bildirmek için yöntem imzasında kullanılır. |
2. | İstisna türü throw anahtar sözcüğünü kullanarak, yalnızca denetlenmeyen istisnayı yayabiliriz; yani, kontrol edilen istisna, yalnızca throw kullanılarak yayılamaz. | throws anahtar sözcüğünü kullanarak hem işaretli hem de işaretsiz istisnaları bildirebiliriz. Ancak throws anahtar sözcüğü yalnızca işaretlenen istisnaları yaymak için kullanılabilir. | |
3. | Sözdizimi | throw anahtar sözcüğünü, atılacak bir İstisna örneği takip eder. | throws anahtar sözcüğünü, atılacak İstisnaların sınıf adları takip eder. |
4. | beyan | Yöntem içerisinde throw kullanılır. | throws yöntem imzasıyla birlikte kullanılır. |
5. | Dahili uygulama | Bir seferde yalnızca bir istisna atmamıza izin verilir, yani birden fazla istisna atamayız. | Yöntem tarafından atılabilecek throws anahtar sözcüğünü kullanarak birden fazla istisna bildirebiliriz. Örneğin, main(), IOException ve SQLException'ı oluşturur. |
Java atma örneği
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)>
Çıktı:
Java fırlatma ve fırlatma örneği
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'); } } }
Çıktı:
1)>