I\'m trying to throw an exception in my code like this:
throw RuntimeException(msg);
But when I build in NetBeans I get this error:
<
you will have to instantiate it before you throw it
throw new RuntimeException(arg0)
PS: Intrestingly enough the Netbeans IDE should have already pointed out that compile time error
Just for others: be sure it is new RuntimeException, not new RuntimeErrorException which needs error as an argument.
As everyone else has said, instantiate the object before throwing it.
Just wanted to add one bit; it's incredibly uncommon to throw a RuntimeException. It would be normal for code in the API to throw a subclass of this, but normally, application code would throw Exception, or something that extends Exception but not RuntimeException.
And in retrospect, I missed adding the reason why you use Exception instead of RuntimeException; @Jay, in the comment below, added in the useful bit. RuntimeException isn't a checked exception;
using new keyword we always create a instance (new object) and throwing it , not called a method
throw new RuntimeException("Your Message");
You need the new in there. It's creating an instance and throwing it, not calling a method.
int no= new Scanner().nextInt(); // we crate an instance using new keyword and throwing it
using new keyword memory clean [because use and throw]
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//do your work here..
}
}, 1000);
throw new RuntimeException(msg);
You need the new
in there. It's creating an instance and throwing it, not calling a method.
throw new RuntimeException(msg); // notice the "new" keyword