Unhandled Exception in Java
Unhandled Exception in Java
What do you mean return an exception? When an exception is thrown, it bubbles up the call stack.
You are not handling it in this case. It reaches main
and thus you have an unhandled exception.
If you want to handle an exception, youd use a try-catch
block. Preferably surrounding main
in this case.
try {
// Code that might throw
// an exception.
} catch (Exception e) {
// Handle it.
}
Another solution would be to specify that main
throws a RandomWeirdException
, and not catch
it in the first place.
public static void main(String[] args) throws RandomWeirdException { ... }
Its preferable to just let functions throw
, unless you can reasonably handle the exceptional case.
If you just catch
for the sake of catching without doing anything meaningful in an exceptional case, its the equivalent of hiding an error sometimes.
You are using the execute
method, without creating a try-catch block for the RandomWiredException
which it declares that it is throwing. Java required all checked exceptions (that extend Exception
) to be properly handled by the caller – either with a try-catch block, or by adding throws
to the calling method (in this case, it is main
, though, so it shouldnt have a throws
clause).
So the proper way to do it is like:
public class Main {
public static void main(String[] args) {
double x=Math.random();
operation op=new operation();
try {
op.execute(x);
} catch ( RandomWiredException e ) {
e.printStackTrace();
System.exit(1);
}
}
}
The actual code in the catch clause is up to your applications requirements, of course.
Note: use uppercase initial letter when you name classes. This is one of the Java styling conventions that will improve your code readability.