Como codificar essa lógica de validação no Scala?

Suponha que eu gostaria de codificar a seguinte lógica no Scala

val xdir = System.getProperty("XDir")
if (xdir == null)
   error("No XDir") // log the error and exit

val ydir = System.getProperty("YDir") 
if (ydir == null)
   error("No YDir")

if (!new File(xdir).isDirectory)
   error("XDir is not a directory")

if (!new File(ydir).isDirectory)
   error("YDir is not a directory")

if (!new File(xdir).exists)
   error("XDir does not exis")

if (!new File(ydir).exists)
   error("YDir does not exist")
...
(and so on)

Qual é a melhor maneira de codificar essa cadeia de validações no Scala?

questionAnswers(3)

yourAnswerToTheQuestion