public static function fromErrorValue($err)
{
if (is_object($err)) {
return self::fromType(get_class($err));
}
if (is_array($err)) {
return self::fromType(gettype($err));
}
if (is_string($err)) {
throw new self($err);
}
return self::fromType(var_export($err, true));
}