See example below. I prefer solution 1. It is easier to read and maintain.
Maybe easier to maintain, but since the code relies on one having the knowledge that the
prompt function returns
nil, I disagree that it is easier to read (especially if viewed from a pseudocode perspective, for example by someone not versed in LISP).
I personally prefer the following structure for this form of checking:
(princ "\nError: var1 is not a number.") )
(princ "\nError: var2 is not a string.") )
( ... )
)