public class ThrowException {
public static void main(String[] args) {
try {
foo();
}
catch(Exception e) {
if (e
static void foo() throws IOException {
throw new IOException("your message");
}
If the goal is to throw the exception from the foo()
method, you need to declare it as follows:
public void foo() throws IOException{
//do stuff
throw new IOException("message");
}
Then in your main:
public static void main(String[] args){
try{
foo();
} catch (IOException e){
System.out.println("Completed!");
}
}
Note that, unless foo is declared to throw an IOException, attempting to catch one will result in a compiler error. Coding it using a catch (Exception e)
and an instanceof
will prevent the compiler error, but is unnecessary.
Please try the following code:
throw new IOException("Message");
throw new IOException("Test");
Maybe this helps...
Note the cleaner way to catch exceptions in the example below - you don't need the e instanceof IOException
.
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());
}
}
I just started learning exceptions and need to catch an exception
To throw an exception
throw new IOException("Something happened")
To catch this exception is better not use Exception
because is to much generic, instead, catch the specific exception that you know how to handle:
try {
//code that can generate exception...
}catch( IOException io ) {
// I know how to handle this...
}