code: func AsException(err error) *Exception {
  	if err == nil {
  		return nil
  	}
  	switch e := err.(type) {
  	case *Exception:
  		return e
  	case CodedError:
  		return NewException(e.ErrorCode(), e.String())
  	default:
  		return NewException(ErrorCodeGeneric, err.Error())
  	}
  }
docs: // Wraps any error as a Exception