case class RPCException(status: RPCStatus = RPCStatus.INTERNAL_ERROR_I0, message: String = "", cause: Option[Throwable] = None, appErrorCode: Option[Int] = None, metadata: Map[String, Any] = Map.empty) extends Exception with LogSupport with Product with Serializable

RPCException provides a backend-independent (e.g., Finagle or gRPC) RPC error reporting mechanism. Create this exception with (RPCStatus code).toException(...) method.

If necessary, we can add more standard error_details parameter like https://github.com/googleapis/googleapis/blob/master/google/rpc/error_details.proto

Linear Supertypes
Product, Equals, LogSupport, LazyLogger, LoggingMethods, Serializable, Exception, Throwable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RPCException
  2. Product
  3. Equals
  4. LogSupport
  5. LazyLogger
  6. LoggingMethods
  7. Serializable
  8. Exception
  9. Throwable
  10. Serializable
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RPCException(status: RPCStatus = RPCStatus.INTERNAL_ERROR_I0, message: String = "", cause: Option[Throwable] = None, appErrorCode: Option[Int] = None, metadata: Map[String, Any] = Map.empty)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def addSuppressed(arg0: Throwable): Unit
    Definition Classes
    Throwable
  5. val appErrorCode: Option[Int]
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. val cause: Option[Throwable]
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  9. macro def debug(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  10. macro def debug(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. macro def error(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  13. macro def error(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  14. def fillInStackTrace(): Throwable
    Definition Classes
    Throwable
  15. def getCause(): Throwable
    Definition Classes
    Throwable
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def getLocalizedMessage(): String
    Definition Classes
    Throwable
  18. def getMessage(): String
    Definition Classes
    Throwable
  19. def getStackTrace(): Array[StackTraceElement]
    Definition Classes
    Throwable
  20. final def getSuppressed(): Array[Throwable]
    Definition Classes
    Throwable
  21. macro def info(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  22. macro def info(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  23. def initCause(arg0: Throwable): Throwable
    Definition Classes
    Throwable
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. macro def logAt(logLevel: LogLevel, message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  26. lazy val logger: Logger
    Attributes
    protected[this]
    Definition Classes
    LazyLogger
  27. val message: String
  28. val metadata: Map[String, Any]
  29. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  30. def noStackTrace: RPCException

    Do not embed stacktrace and the cause objects in the RPC exception error response

  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  33. def printStackTrace(arg0: PrintWriter): Unit
    Definition Classes
    Throwable
  34. def printStackTrace(arg0: PrintStream): Unit
    Definition Classes
    Throwable
  35. def printStackTrace(): Unit
    Definition Classes
    Throwable
  36. def setStackTrace(arg0: Array[StackTraceElement]): Unit
    Definition Classes
    Throwable
  37. def shouldReportStackTrace: Boolean
  38. val status: RPCStatus
  39. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  40. def toJson: Json
  41. def toMessage: RPCErrorMessage
  42. def toMsgPack: MsgPack
  43. def toResponse: Response

    Convert this exception to an HTTP response

  44. def toString(): String
    Definition Classes
    Throwable → AnyRef → Any
  45. macro def trace(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  46. macro def trace(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  47. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  49. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. macro def warn(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  51. macro def warn(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Product

Inherited from Equals

Inherited from LogSupport

Inherited from LazyLogger

Inherited from LoggingMethods

Inherited from Serializable

Inherited from Exception

Inherited from Throwable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped