scala.util.control

Exception

object Exception extends AnyRef

Classes representing the components of exception handling. Each class is independently composable. Some common uses:

 import scala.util.control.Exception._
 import java.net._

val s = "http://www.scala-lang.org/" val x1 = catching(classOf[MalformedURLException]) opt new URL(s) val x2 = catching(classOf[MalformedURLException], classOf[NullPointerException]) either new URL(s)

Inherits

  1. AnyRef
  2. Any

Type Members

  1. class By[T, R] extends AnyRef

    Returns a partially constructed Catch object, which you must give an exception handler function as an argument to "by"

  2. class Catch[+T] extends Described

    A container class for catch/finally logic

  3. type Catcher = PartialFunction[Throwable, T]

  4. trait Described extends AnyRef

  5. type ExceptionCatcher = PartialFunction[Exception, T]

  6. class Finally extends Described

    A container class for finally code

  7. class Try[+T] extends AnyRef

    A container class for Try logic

Value Members

  1. def catching[T](c: PartialFunction[Throwable, T]): Catch[T]

  2. def catching[T](exceptions: java.lang.Class[_]*): Catch[T]

    Creates a Catch object which will catch any of the supplied exceptions

    Creates a Catch object which will catch any of the supplied exceptions. Since the returned Catch object has no specific logic defined and will simply rethrow the exceptions it catches, you will typically want to call "opt" or "either" on the return value, or assign custom logic by calling "withApply".

  3. def equals(arg0: Any): Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    The default implementations of this method is an equivalence relation:

    • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
    • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
    • It is transitive: for any instances x, y, and z of type AnyRef if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

    If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is often necessary to override hashCode to ensure that objects that are "equal" (o1.equals(o2) returns true) hash to the same Int (o1.hashCode.equals(o2.hashCode)).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    definition classes: AnyRef ⇐ Any
  4. def failing[T](exceptions: java.lang.Class[_]*): Catch[Option[T]]

    Creates a Catch object which maps all the supplied exceptions to 'None'

    Creates a Catch object which maps all the supplied exceptions to 'None'.

  5. def fromExceptionCatcher[T](pf: PartialFunction[Exception, T]): PartialFunction[Throwable, T]

  6. def handling[T](exceptions: java.lang.Class[_]*): By[(Throwable) ⇒ T, Catch[T]]

  7. def hashCode(): Int

    Returns a hash code value for the object

    Returns a hash code value for the object.

    The default hashing algorithm is platform dependent.

    Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

    definition classes: AnyRef ⇐ Any
  8. def ignoring(exceptions: java.lang.Class[_]*): Catch[Unit]

    Creates a Catch object which catches and ignores any of the supplied exceptions

    Creates a Catch object which catches and ignores any of the supplied exceptions.

  9. val noCatch: Catch[Nothing]

    The empty Catch object

    The empty Catch object.

    attributes: final
  10. val nothingCatcher: PartialFunction[Throwable, Nothing]

  11. def saving[A](oldVal: A, newVal: A, setter: (A) ⇒ Unit): Catch[Nothing]

    Experimental

    Experimental

  12. def toString(): String

    Returns a string representation of the object

    Returns a string representation of the object.

    The default representation is platform dependent.

    definition classes: AnyRef ⇐ Any
  13. def ultimately[T](body: ⇒ Unit): Catch[T]

    Returns a Catch object with no catch logic and the argument as Finally

    Returns a Catch object with no catch logic and the argument as Finally.

  14. def unwrapping[T](exceptions: java.lang.Class[_]*): Catch[T]

    Creates a Catch object which unwraps any of the supplied exceptions

    Creates a Catch object which unwraps any of the supplied exceptions.