zodios는 ZodError를 ZodiosError.cause에 담아 던진다1 — instanceof z.ZodError로는 안 잡힌다.

if (err instanceof ZodiosError && err.cause instanceof ZodError) {
  console.log(fromZodError(err.cause).toString())
}

Footnotes

  1. zodios zod-validation.plugin.ts: 응답 검증 실패 시 throw new ZodiosError(… config, response.data, parsed.error) — 네 번째 인자가 cause다. ↩

`#278`