¿Cómo codificar esta lógica de validación en Scala?

Supongamos que me gustaría codificar la siguiente lógica en 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)

¿Cuál es la mejor manera de codificar esta cadena de validaciones en Scala?

Respuestas a la pregunta(3)

Su respuesta a la pregunta