35 lines
1.0 KiB
Scala
35 lines
1.0 KiB
Scala
package com.twitter.tweetypie.storage
|
|
|
|
import scala.util.control.NoStackTrace
|
|
|
|
sealed abstract class TweetStorageException(message: String, cause: Throwable)
|
|
extends Exception(message, cause)
|
|
|
|
/**
|
|
* The request was not properly formed and failed an assertion present in the code. Should not be
|
|
* retried without modification.
|
|
*/
|
|
case class ClientError(message: String, cause: Throwable)
|
|
extends TweetStorageException(message, cause)
|
|
with NoStackTrace
|
|
|
|
/**
|
|
* Request was rejected by Manhattan or the in-process rate limiter. Should not be retried.
|
|
*/
|
|
case class RateLimited(message: String, cause: Throwable)
|
|
extends TweetStorageException(message, cause)
|
|
with NoStackTrace
|
|
|
|
/**
|
|
* Corrupt tweets were requested from Manhattan
|
|
*/
|
|
case class VersionMismatchError(message: String, cause: Throwable = null)
|
|
extends TweetStorageException(message, cause)
|
|
with NoStackTrace
|
|
|
|
/**
|
|
* All other unhandled exceptions.
|
|
*/
|
|
case class InternalError(message: String, cause: Throwable = null)
|
|
extends TweetStorageException(message, cause)
|