class ExceptionManager extends AnyRef
A class to register com.twitter.finatra.http.exceptions.ExceptionMappers and handle exceptions.
Given an exception, the ExceptionManager will find an com.twitter.finatra.http.exceptions.ExceptionMapper to handle that particular class of exceptions. If the mapper for that exception isn't registered, the ExceptionManager will try the exception's parent class, and so on, until it reaches the Throwable class. The framework registers a "root" exception mapper over Throwable which will eventually be invoked. Users are free to register their own ExceptionMapper[Throwable] which overrides the "root" exception mapper.
- Annotations
- @Singleton()
- Alphabetic
- By Inheritance
- ExceptionManager
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ExceptionManager(injector: Injector, statsReceiver: StatsReceiver)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def add[T <: ExceptionMapper[_]](implicit arg0: Manifest[T]): Unit
Add a com.twitter.finatra.http.exceptions.ExceptionMapper by type T
Add a com.twitter.finatra.http.exceptions.ExceptionMapper by type T
- T
- ExceptionMapper type T which should subclass com.twitter.finatra.http.exceptions.ExceptionMapper
- def add(collection: ExceptionMapperCollection): Unit
Add a collection of com.twitter.finatra.http.exceptions.ExceptionMapper as defined by a com.twitter.finatra.http.exceptions.ExceptionMapperCollection.
Add a collection of com.twitter.finatra.http.exceptions.ExceptionMapper as defined by a com.twitter.finatra.http.exceptions.ExceptionMapperCollection. The collection is iterated over and each mapper contained therein is added. If a mapper has already been added for the given type T in ExceptionMapper[T], it will be replaced.
- collection
- com.twitter.finatra.http.exceptions.ExceptionMapperCollection to add.
- def add[T <: Throwable](mapper: ExceptionMapper[T])(implicit arg0: Manifest[T]): Unit
Add a com.twitter.finatra.http.exceptions.ExceptionMapper over type T to the manager.
Add a com.twitter.finatra.http.exceptions.ExceptionMapper over type T to the manager. If a mapper has already been added for the given T, it will be replaced.
- T
- exception class type which should subclass java.lang.Throwable
- mapper
- com.twitter.finatra.http.exceptions.ExceptionMapper to add
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toResponse(request: Request, throwable: Throwable): Response
Returns a com.twitter.finagle.http.Response as computed by the matching com.twitter.finatra.http.exceptions.ExceptionMapper to the given throwable.
Returns a com.twitter.finagle.http.Response as computed by the matching com.twitter.finatra.http.exceptions.ExceptionMapper to the given throwable.
- request
- throwable
- java.lang.Throwable to match against registered ExceptionMappers.
- returns
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()