Skip to content

Instantly share code, notes, and snippets.

@entrealist
Forked from cesarferreira/Failure.kt
Created November 2, 2021 13:08
Show Gist options
  • Save entrealist/3ef5d37902e76941b7a6df39a9742fdf to your computer and use it in GitHub Desktop.
Save entrealist/3ef5d37902e76941b7a6df39a9742fdf to your computer and use it in GitHub Desktop.
/**
* Base Class for handling errors/failures/exceptions.
* Every feature specific failure should extend [FeatureFailure] class.
*/
sealed class Failure(val exception: Exception = Exception("Failure")) {
object None : Failure()
object NetworkConnection : Failure()
object ServerError : Failure()
/** * Extend this class for feature specific failures.*/
open class FeatureFailure(featureException: Exception = Exception("Feature failure")) : Failure(featureException)
override fun equals(other: Any?): Boolean {
return other is Failure
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment