/Knowledge/sources/honojs__hono/llms-full/middleware-execution-order--part-02--5931cfb16ce1.md
Middleware: Execution order (part 02) - hono-docs
Middleware: Execution order (part 02) Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt execution order...
Middleware: Execution order (part 02)
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#execution-order
Summary
Note that if the handler or any middleware throws, hono will catch it and either pass it to your app.onError() callback or automatically convert it to a 500 response before returning it up the chain of mi...
Content
Note that if the handler or any middleware throws, hono will catch it and either pass it to your app.onError() callback or automatically convert it to a 500 response before returning it up the chain of middleware. This means that next() will never throw, so there is no need to wrap it in a try/catch/finally.
Metadata
{
"chunk_index": 1,
"citation": "https://hono.dev/llms-full.txt#execution-order",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Middleware > Execution order (2)",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 113,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Middleware: Execution order (part 02)",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}