HRCPP-56 Construct the exception "what" message in a way that doesn't leave dangling pointers