null handling
detailed exception message