IOApp
trait IOApp
-
If completed with
ExitCode.Success
, the main method exits and
shutdown is handled by the platform. -
If the
IO
raises an error, the stack trace is printed to
standard error andsys.exit(1)
is called.
When a shutdown is requested via a signal, the
we wait for the
with the numeric value of the signal plus 128.
IO
is canceled andwe wait for the
IO
to release any resources. The process exitswith the numeric value of the signal plus 128.
{{{
import cats.effect._
import cats.syntax.all._
import cats.effect._
import cats.syntax.all._
object MyApp extends IOApp {
def run(args: List[String] ): IO[ExitCode] =
args.headOption match {
case Some(name) =>
IO(println(s"Hello, ${name}.")).as(ExitCode.Success)
case None =>
IO(System.err.println("Usage: MyApp name")).as(ExitCode(2))
}
}
}}}
def run(args: List[String] ): IO[ExitCode] =
args.headOption match {
case Some(name) =>
IO(println(s"Hello, ${name}.")).as(ExitCode.Success)
case None =>
IO(System.err.println("Usage: MyApp name")).as(ExitCode(2))
}
}
}}}
- Companion
- object
class Object
trait Matchable
class Any