more verbose exception handling