/Knowledge/sources/honojs__hono/llms-full/httpexception-handling-httpexceptions--7491af6f337e.md
HTTPException: Handling HTTPExceptions - hono-docs
HTTPException: Handling HTTPExceptions Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt handling httpex...
HTTPException: Handling HTTPExceptions
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#handling-httpexceptions
Summary
You can handle uncaught HTTPExceptions with app.onError. They include a getResponse method that returns a new Response created from the error status, and either the error message, or the [custom...
Content
You can handle uncaught HTTPExceptions with app.onError. They include a getResponse method that returns a new Response created from the error status, and either the error message, or the custom response set when the error was thrown.
import { Hono } from 'hono'
const app = new Hono()
// ---cut---
import { HTTPException } from 'hono/http-exception'
// ...
app.onError((err, c) => {
if (err instanceof HTTPException) {
// Return the error response generated by HTTPException
return err.getResponse()
}
// For any other unexpected errors, log and return a generic 500 response
console.error(err)
return c.text('Internal Server Error', 500)
})
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#handling-httpexceptions",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / HTTPException > Handling HTTPExceptions (1)",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 615,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "HTTPException: Handling HTTPExceptions",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}