ENOSPC is a return value from a system call, not a signal; so you can't trap it with a signal handler. (The only exception to this being SIGPIPE when writing to a closed pipe or socket.)
Thank you - I was waffling between signals and errnums. My thinking was, ENOSPC is an errnum from a syscall (usually write) and if print used write under the hood, we would see this error code on a full disk.