public static void foo() throws IOException {
// some code here, when something goes wrong, you might do:
throw new IOException("error message");
}
public static void main(String[] args) {
try {
foo();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
public void doChangePin(int oldPin, int pin) throws Exception { //need to add throws followed by exception name
if (oldPin == pinCode) {
pinCode = pin;
} else {
throw new Exception("some message"); //throwing the exception by creating its new object
}
}
throw new java.lang.Error("this is very bad");
throw new java.lang.RuntimeException("this is not quite as bad");
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.println("Enter a number");
try {
double nb1 = kb.nextDouble();
if(nb1<0)
throw new ArithmeticException();
else System.out.println( "result : " + Math.sqrt(nb1) );
} catch (ArithmeticException e) {
System.out.println("You tried an impossible sqrt");
}
}
Throws keyword used for handling exceptions.
Where do you use it? Methods signature.
If you want to handling right away in selenium or Api use “throws” keyword.
Throw is creating an exception. Basically there are doing opposite.
Where do you use it? We use it with in the block.
class Main {
public static void divideByZero() {
// throw an exception
throw new ArithmeticException("Trying to divide by 0");
}
public static void main(String[] args) {
divideByZero();
}
}
//f a method does not handle a checked exception, the method must declare it using the throws keyword. The throws keyword appears at the end of a method's signature.
One can throw an exception, either a newly instantiated one or an exception that you just caught, by using the throw keyword.
Understand the difference between throws and throw keywords, throws is used to postpone the handling of a checked exception and throw is used to invoke an exception explicitly.
Example
import java.io.*;
public class className {
public void deposit(double amount) throws RemoteException {
// Method implementation
throw new RemoteException();
}
// Remainder of class definition
}
Generally JVM throws the exception and
we handle the exceptions by
using try catch block. But there are
situations where we have to throw
userdefined exceptions or runtime exceptions.
In such case we use throw keyword
to throw exception explicitly.
Syntax : throw throwableInstance;
throw new java.lang.Error("this is very bad");