code: def error(
          cls,
          template,
          default_params={},
          cause=None,
          stack_depth=0,
          **more_params
      ):
          if not is_text(template):
              sys.stderr.write(str("Log.error was expecting a unicode template"))
              Log.error("Log.error was expecting a unicode template")
          if default_params and isinstance(listwrap(default_params)[0], BaseException):
              cause = default_params
              default_params = {}
          params = Data(dict(default_params, **more_params))
          add_to_trace = False
          if cause == None:
              causes = None
          elif is_list(cause):
              causes = []
              for c in listwrap(cause):
                  causes.append(Except.wrap(c, stack_depth=1))
              causes = FlatList(causes)
          elif isinstance(cause, BaseException):
              causes = Except.wrap(cause, stack_depth=1)
          else:
              causes = None
              Log.error("can only accept Exception, or list of exceptions")
          trace = exceptions.extract_stack(stack_depth + 1)
          if add_to_trace:
              cause[0].trace.extend(trace[1:])
          e = Except(context=exceptions.ERROR, template=template, params=params, cause=causes, trace=trace)
          raise_from_none(e)