Catching error messages


#1
(if (eq 'nothing (ignore-errors (my-function) t))
    (princ "An error occurred")
    (princ "No error occurred"))

This works to detect if an error occurs in (my-function), but if an error does occur it doesn’t show the error message.

How can I simultaneously detect an error and continue, while also displaying the error message? Is it possible in vanilla uLisp or will I need to add custom functions?