         if case let diagnostics? = self {
             diagnostics.emit(message, location: location)
         } else if message.behavior == .error {
-            throw Diagnostics.fatalError
+            throw StringError(message.text)
         }
     }
 }

        if case let diagnostics? = self {
            diagnostics.emit(error, location: location)
        } else {
            throw Diagnostics.fatalError
        }
    }


            return nil
        }
    }

    /// Wrap a throwing closure, returning a success boolean and
    /// emitting any thrown errors.
    ///
