Go does not have exceptions. It has errors. Errors are returned rather than thrown, and they do not inherently capture a stack trace.
Go errors can also wrap other errors. This is broadly similar to a PHP exception accepting a previous exception:
throw new RuntimeException('Operation failed', previous: $e);