/**
 * Format details as JSON string for given exception.
 *
 * @param \Exception $e_
 * @param bool $includeStackTrace_
 * @param bool $stackTraceAsArray_
 *
 * @return string
 */
function exception_as_json(\Exception $e_, $includeStackTrace_ = false, $stackTraceAsArray_ = false)
{
    if ($e_ instanceof \Components\Runtime_Exception_Transformable) {
        return $e_->toJson($includeStackTrace_, $stackTraceAsArray_);
    }
    return json_encode(exception_as_array($e_, $includeStackTrace_, $stackTraceAsArray_));
}