lib/tarearbol/jobs/task_failed_error.ex
defmodule Tarearbol.TaskFailedError do
@moduledoc """
The generic exception thrown from any function
dealing with `Task` handling.
"""
use Boundary
defexception [:outcome, :message, :job]
@impl true
def exception(outcome: outcome, job: job) do
message = "Task failed after given amount of tries. Status is: [#{inspect(outcome)}]."
%Tarearbol.TaskFailedError{outcome: outcome, job: job, message: message}
end
end