A possible solution could be to issue an `edm::LogError` and turn this into a `bool` function returning `false` in case of failure with a meaningful assignment to `buf[0]` -- or let the `double` be returned directly to be assigned in the calling function, which would also allow for a more flexible usage in the future.