diff --git a/monix-eval/shared/src/main/scala/monix/eval/Task.scala b/monix-eval/shared/src/main/scala/monix/eval/Task.scala index 519f95197..5ac735740 100644 --- a/monix-eval/shared/src/main/scala/monix/eval/Task.scala +++ b/monix-eval/shared/src/main/scala/monix/eval/Task.scala @@ -2212,7 +2212,16 @@ sealed abstract class Task[+A] extends Serializable { * task emitting any item. */ final def timeout(after: FiniteDuration): Task[A] = - timeoutTo(after, raiseError(new TimeoutException(s"Task timed-out after $after of inactivity"))) + timeoutWith(after, new TimeoutException(s"Task timed-out after $after of inactivity")) + + /** Returns a Task that mirrors the source Task but that triggers a + * specified `Exception` in case the given duration passes + * without the task emitting any item. + * @param exception The `Exception` to throw after given duration + * passes + */ + final def timeoutWith(after: FiniteDuration, exception: Exception): Task[A] = + timeoutTo(after, raiseError(exception)) /** Returns a Task that mirrors the source Task but switches to the * given backup Task in case the given duration passes without the