Scala doesn't have checked exceptions. However, when calling scala code from java, it's desirable to catch exceptions thrown by scala.
Scala:
def f()=
{
//do something that throws SomeException
}
Java:
try
{ f() }
catch (SomeException e)
{}
javac doesn't like this, and complains that "this exception is never thrown from the try statement body"
Is there a way to make scala declare that it throws a checked exception?
You can still catch too many exceptions and then re-throw the ones you can't handle:
Use a
throws
annotation:You can also annotate a class constructor:
This is covered in the Tour of Scala