[{"data":1,"prerenderedAt":1011},["ShallowReactive",2],{"navigation":3,"-guide-basics-error":193,"-guide-basics-error-surround":1006},[4,91,138,170,177],{"title":5,"path":6,"stem":7,"children":8,"icon":90},"Guide","/guide","1.guide/0.index",[9,12,53,69],{"title":10,"path":6,"stem":7,"icon":11},"Getting Started","pixel:play",{"title":5,"icon":13,"path":14,"stem":15,"children":16,"page":52},"ph:book-open-duotone","/guide/basics","1.guide/1.basics",[17,22,27,32,37,42,47],{"title":18,"path":19,"stem":20,"icon":21},"Request Lifecycle","/guide/basics/lifecycle","1.guide/1.basics/1.lifecycle","icon-park-outline:handle-round",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/guide/basics/routing","1.guide/1.basics/2.routing","solar:routing-bold",{"title":28,"path":29,"stem":30,"icon":31},"Middleware","/guide/basics/middleware","1.guide/1.basics/3.middleware","mdi:middleware-outline",{"title":33,"path":34,"stem":35,"icon":36},"Event Handlers","/guide/basics/handler","1.guide/1.basics/4.handler","mdi:function",{"title":38,"path":39,"stem":40,"icon":41},"Sending Response","/guide/basics/response","1.guide/1.basics/5.response","tabler:json",{"title":43,"path":44,"stem":45,"icon":46},"Error Handling","/guide/basics/error","1.guide/1.basics/6.error","tabler:error-404",{"title":48,"path":49,"stem":50,"icon":51},"Nested Apps","/guide/basics/nested-apps","1.guide/1.basics/7.nested-apps","material-symbols-light:layers-outline",false,{"title":54,"icon":55,"path":56,"stem":57,"children":58,"page":52},"API","material-symbols-light:api-rounded","/guide/api","1.guide/900.api",[59,64],{"title":60,"path":61,"stem":62,"icon":63},"H3","/guide/api/h3","1.guide/900.api/1.h3","material-symbols:bolt-rounded",{"title":65,"path":66,"stem":67,"icon":68},"H3Event","/guide/api/h3event","1.guide/900.api/2.h3event","material-symbols:data-object-rounded",{"title":70,"icon":71,"path":72,"stem":73,"children":74,"page":52},"Advanced","hugeicons:more-01","/guide/advanced","1.guide/901.advanced",[75,80,85],{"title":76,"path":77,"stem":78,"icon":79},"Plugins","/guide/advanced/plugins","1.guide/901.advanced/1.plugins","clarity:plugin-line",{"title":81,"path":82,"stem":83,"icon":84},"WebSockets","/guide/advanced/websocket","1.guide/901.advanced/2.websocket","hugeicons:live-streaming-02",{"title":86,"path":87,"stem":88,"icon":89},"Nightly Builds","/guide/advanced/nightly","1.guide/901.advanced/9.nightly","game-icons:barn-owl","i-ph:book-open-duotone",{"title":92,"path":93,"stem":94,"children":95,"icon":97},"Utils","/utils","2.utils/0.index",[96,98,103,108,113,118,123,128,133],{"title":92,"path":93,"stem":94,"icon":97},"ph:function-bold",{"title":99,"path":100,"stem":101,"icon":102},"Request","/utils/request","2.utils/1.request","material-symbols-light:input",{"title":104,"path":105,"stem":106,"icon":107},"Response","/utils/response","2.utils/2.response","material-symbols-light:output",{"title":109,"path":110,"stem":111,"icon":112},"Cookie","/utils/cookie","2.utils/3.cookie","material-symbols:cookie-outline",{"title":114,"path":115,"stem":116,"icon":117},"Security","/utils/security","2.utils/4.security","wpf:key-security",{"title":119,"path":120,"stem":121,"icon":122},"Proxy","/utils/proxy","2.utils/5.proxy","arcticons:super-proxy",{"title":124,"path":125,"stem":126,"icon":127},"MCP","/utils/mcp","2.utils/6.mcp","material-symbols:swap-calls",{"title":129,"path":130,"stem":131,"icon":132},"More utils","/utils/more","2.utils/9.more","mingcute:plus-line",{"title":134,"path":135,"stem":136,"icon":137},"Community","/utils/community","2.utils/99.community","lets-icons:external",{"title":139,"path":140,"stem":141,"children":142,"icon":144},"Examples","/examples","4.examples/0.index",[143,145,150,154,158,162,166],{"title":139,"path":140,"stem":141,"icon":144},"ph:code",{"title":146,"path":147,"stem":148,"icon":149},"Cookies","/examples/handle-cookie","4.examples/handle-cookie","ph:arrow-right",{"title":151,"path":152,"stem":153,"icon":149},"HTTP QUERY Method","/examples/handle-query","4.examples/handle-query",{"title":155,"path":156,"stem":157,"icon":149},"Sessions","/examples/handle-session","4.examples/handle-session",{"title":159,"path":160,"stem":161,"icon":149},"Static Assets","/examples/serve-static-assets","4.examples/serve-static-assets",{"title":163,"path":164,"stem":165,"icon":149},"Stream Response","/examples/stream-response","4.examples/stream-response",{"title":167,"path":168,"stem":169,"icon":149},"Validate Data","/examples/validate-data","4.examples/validate-data",{"title":171,"path":172,"stem":173,"children":174,"icon":176},"Migration","/migration","5.migration/0.index",[175],{"title":171,"path":172,"stem":173,"icon":176},"icons8:up-round",{"title":178,"path":179,"stem":180,"children":181},"Blog","/blog","99.blog",[182,185,189],{"title":178,"path":179,"stem":183,"icon":184},"99.blog/index","i-lucide-file-text",{"title":186,"path":187,"stem":188,"icon":184},"H3 1.8 - Towards the Edge of the Web","/blog/v1.8","99.blog/1.v1.8",{"title":190,"path":191,"stem":192,"icon":184},"H3 v2 beta","/blog/v2-beta","99.blog/2.v2-beta",{"id":194,"title":43,"body":195,"description":1000,"extension":1001,"meta":1002,"navigation":1003,"path":44,"seo":1004,"stem":45,"__hash__":1005},"content/1.guide/1.basics/6.error.md",{"type":196,"value":197,"toc":992,"icon":46},"minimark",[198,207,215,221,466,473,559,566,624,709,721,724,737,787,803,807,817,898,907,980,988],[199,200,201,202,206],"p",{},"H3 captures all possible errors during ",[203,204,205],"a",{"href":19},"request lifecycle",".",[208,209,211],"h2",{"id":210},"httperror",[212,213,214],"code",{},"HTTPError",[199,216,217,218,220],{},"You can create and throw HTTP errors using ",[212,219,214],{}," with different syntaxes.",[222,223,228],"pre",{"className":224,"code":225,"language":226,"meta":227,"style":227},"language-js shiki shiki-themes github-light github-dark github-dark","import { HTTPError } from \"h3\";\n\napp.get(\"/error\", (event) => {\n  // Using message and details\n  throw new HTTPError(\"Invalid user input\", { status: 400 });\n\n  // Using HTTPError.status(code)\n  throw HTTPError.status(400, \"Bad Request\");\n\n  // Using single object\n  throw new HTTPError({\n    status: 400,\n    statusText: \"Bad Request\",\n    message: \"Invalid user input\",\n    data: { field: \"email\" },\n    body: { date: new Date().toJSON() },\n    headers: {},\n  });\n});\n","js","",[212,229,230,253,260,292,299,326,331,337,361,366,372,384,395,405,415,427,448,454,460],{"__ignoreMap":227},[231,232,235,239,243,246,250],"span",{"class":233,"line":234},"line",1,[231,236,238],{"class":237},"so5gQ","import",[231,240,242],{"class":241},"slsVL"," { HTTPError } ",[231,244,245],{"class":237},"from",[231,247,249],{"class":248},"sfrk1"," \"h3\"",[231,251,252],{"class":241},";\n",[231,254,256],{"class":233,"line":255},2,[231,257,259],{"emptyLinePlaceholder":258},true,"\n",[231,261,263,266,270,273,276,279,283,286,289],{"class":233,"line":262},3,[231,264,265],{"class":241},"app.",[231,267,269],{"class":268},"shcOC","get",[231,271,272],{"class":241},"(",[231,274,275],{"class":248},"\"/error\"",[231,277,278],{"class":241},", (",[231,280,282],{"class":281},"sQHwn","event",[231,284,285],{"class":241},") ",[231,287,288],{"class":237},"=>",[231,290,291],{"class":241}," {\n",[231,293,295],{"class":233,"line":294},4,[231,296,298],{"class":297},"sCsY4","  // Using message and details\n",[231,300,302,305,308,311,313,316,319,323],{"class":233,"line":301},5,[231,303,304],{"class":237},"  throw",[231,306,307],{"class":237}," new",[231,309,310],{"class":268}," HTTPError",[231,312,272],{"class":241},[231,314,315],{"class":248},"\"Invalid user input\"",[231,317,318],{"class":241},", { status: ",[231,320,322],{"class":321},"suiK_","400",[231,324,325],{"class":241}," });\n",[231,327,329],{"class":233,"line":328},6,[231,330,259],{"emptyLinePlaceholder":258},[231,332,334],{"class":233,"line":333},7,[231,335,336],{"class":297},"  // Using HTTPError.status(code)\n",[231,338,340,342,345,348,350,352,355,358],{"class":233,"line":339},8,[231,341,304],{"class":237},[231,343,344],{"class":241}," HTTPError.",[231,346,347],{"class":268},"status",[231,349,272],{"class":241},[231,351,322],{"class":321},[231,353,354],{"class":241},", ",[231,356,357],{"class":248},"\"Bad Request\"",[231,359,360],{"class":241},");\n",[231,362,364],{"class":233,"line":363},9,[231,365,259],{"emptyLinePlaceholder":258},[231,367,369],{"class":233,"line":368},10,[231,370,371],{"class":297},"  // Using single object\n",[231,373,375,377,379,381],{"class":233,"line":374},11,[231,376,304],{"class":237},[231,378,307],{"class":237},[231,380,310],{"class":268},[231,382,383],{"class":241},"({\n",[231,385,387,390,392],{"class":233,"line":386},12,[231,388,389],{"class":241},"    status: ",[231,391,322],{"class":321},[231,393,394],{"class":241},",\n",[231,396,398,401,403],{"class":233,"line":397},13,[231,399,400],{"class":241},"    statusText: ",[231,402,357],{"class":248},[231,404,394],{"class":241},[231,406,408,411,413],{"class":233,"line":407},14,[231,409,410],{"class":241},"    message: ",[231,412,315],{"class":248},[231,414,394],{"class":241},[231,416,418,421,424],{"class":233,"line":417},15,[231,419,420],{"class":241},"    data: { field: ",[231,422,423],{"class":248},"\"email\"",[231,425,426],{"class":241}," },\n",[231,428,430,433,436,439,442,445],{"class":233,"line":429},16,[231,431,432],{"class":241},"    body: { date: ",[231,434,435],{"class":237},"new",[231,437,438],{"class":268}," Date",[231,440,441],{"class":241},"().",[231,443,444],{"class":268},"toJSON",[231,446,447],{"class":241},"() },\n",[231,449,451],{"class":233,"line":450},17,[231,452,453],{"class":241},"    headers: {},\n",[231,455,457],{"class":233,"line":456},18,[231,458,459],{"class":241},"  });\n",[231,461,463],{"class":233,"line":462},19,[231,464,465],{"class":241},"});\n",[199,467,468,469,472],{},"This will end the request with ",[212,470,471],{},"400 - Bad Request"," status code and the following JSON response:",[222,474,478],{"className":475,"code":476,"language":477,"meta":227,"style":227},"language-json shiki shiki-themes github-light github-dark github-dark","{\n  \"date\": \"2025-06-05T04:20:00.0Z\",\n  \"status\": 400,\n  \"statusText\": \"Bad Request\",\n  \"message\": \"Invalid user input\",\n  \"data\": {\n    \"field\": \"email\"\n  }\n}\n","json",[212,479,480,485,498,509,520,531,539,549,554],{"__ignoreMap":227},[231,481,482],{"class":233,"line":234},[231,483,484],{"class":241},"{\n",[231,486,487,490,493,496],{"class":233,"line":255},[231,488,489],{"class":321},"  \"date\"",[231,491,492],{"class":241},": ",[231,494,495],{"class":248},"\"2025-06-05T04:20:00.0Z\"",[231,497,394],{"class":241},[231,499,500,503,505,507],{"class":233,"line":262},[231,501,502],{"class":321},"  \"status\"",[231,504,492],{"class":241},[231,506,322],{"class":321},[231,508,394],{"class":241},[231,510,511,514,516,518],{"class":233,"line":294},[231,512,513],{"class":321},"  \"statusText\"",[231,515,492],{"class":241},[231,517,357],{"class":248},[231,519,394],{"class":241},[231,521,522,525,527,529],{"class":233,"line":301},[231,523,524],{"class":321},"  \"message\"",[231,526,492],{"class":241},[231,528,315],{"class":248},[231,530,394],{"class":241},[231,532,533,536],{"class":233,"line":328},[231,534,535],{"class":321},"  \"data\"",[231,537,538],{"class":241},": {\n",[231,540,541,544,546],{"class":233,"line":333},[231,542,543],{"class":321},"    \"field\"",[231,545,492],{"class":241},[231,547,548],{"class":248},"\"email\"\n",[231,550,551],{"class":233,"line":339},[231,552,553],{"class":241},"  }\n",[231,555,556],{"class":233,"line":363},[231,557,558],{"class":241},"}\n",[560,561,563,565],"h3",{"id":562},"httperror-fields",[212,564,214],{}," Fields",[567,568,569,575,581,587,596,602,608,614],"ul",{},[570,571,572,574],"li",{},[212,573,347],{},": HTTP status code in the range 200–599.",[570,576,577,580],{},[212,578,579],{},"statusText",": HTTP status text to be sent in the response header.",[570,582,583,586],{},[212,584,585],{},"message",": Error message to be included in the JSON body.",[570,588,589,592,593,595],{},[212,590,591],{},"data",": Additional data to be attached under the ",[212,594,591],{}," key in the error JSON body.",[570,597,598,601],{},[212,599,600],{},"body",": Additional top-level properties to be attached in the error JSON body.",[570,603,604,607],{},[212,605,606],{},"headers",": Additional HTTP headers to be sent in the error response.",[570,609,610,613],{},[212,611,612],{},"cause",": The original error object that caused this error, useful for tracing and debugging.",[570,615,616,619,620,206],{},[212,617,618],{},"unhandled",": Indicates whether the error was thrown for unknown reasons. See ",[203,621,623],{"href":622},"#unhandled-errors","Unhandled Errors",[625,626,627,634,684],"tip",{},[199,628,629,630,633],{},"\nThe recommended way to include headers in error responses is to use ",[212,631,632],{},"new HTTPError({ headers })",":",[222,635,637],{"className":224,"code":636,"language":226,"meta":227,"style":227},"throw new HTTPError({\n  status: 400,\n  message: \"Invalid input\",\n  headers: { \"x-request-id\": requestId },\n});\n",[212,638,639,650,659,669,680],{"__ignoreMap":227},[231,640,641,644,646,648],{"class":233,"line":234},[231,642,643],{"class":237},"throw",[231,645,307],{"class":237},[231,647,310],{"class":268},[231,649,383],{"class":241},[231,651,652,655,657],{"class":233,"line":255},[231,653,654],{"class":241},"  status: ",[231,656,322],{"class":321},[231,658,394],{"class":241},[231,660,661,664,667],{"class":233,"line":262},[231,662,663],{"class":241},"  message: ",[231,665,666],{"class":248},"\"Invalid input\"",[231,668,394],{"class":241},[231,670,671,674,677],{"class":233,"line":294},[231,672,673],{"class":241},"  headers: { ",[231,675,676],{"class":248},"\"x-request-id\"",[231,678,679],{"class":241},": requestId },\n",[231,681,682],{"class":233,"line":301},[231,683,465],{"class":241},[199,685,686,687,691,692,695,696,700,701,704,705,708],{},"When an error is thrown, any ",[203,688,690],{"href":689},"/guide/basics/response#preparing-response","prepared headers"," set via ",[212,693,694],{},"event.res.headers"," are ",[697,698,699],"strong",{},"not"," included in the error response. As a last resort for headers that need to be set implicitly before the error is known (e.g., CORS headers), you can use ",[212,702,703],{},"event.res.errHeaders",". Built-in utilities like ",[212,706,707],{},"handleCors"," automatically set both.",[710,711,712],"important",{},[199,713,714,715,717,718,720],{},"\nError ",[212,716,579],{}," should be short (max 512 to 1024 characters) and only include tab, spaces or visible ASCII characters and extended characters (byte value 128–255). Prefer ",[212,719,585],{}," in JSON body for extended message.",[208,722,623],{"id":723},"unhandled-errors",[199,725,726,727,729,730,732,733,736],{},"Any error that occurs during calling ",[203,728,205],{"href":19}," without using ",[212,731,214],{}," will be processed as an ",[734,735,618],"em",{}," error.",[222,738,740],{"className":224,"code":739,"language":226,"meta":227,"style":227},"app.get(\"/error\", (event) => {\n  // This will cause an unhandled error.\n  throw new Error(\"Something went wrong\");\n});\n",[212,741,742,762,767,783],{"__ignoreMap":227},[231,743,744,746,748,750,752,754,756,758,760],{"class":233,"line":234},[231,745,265],{"class":241},[231,747,269],{"class":268},[231,749,272],{"class":241},[231,751,275],{"class":248},[231,753,278],{"class":241},[231,755,282],{"class":281},[231,757,285],{"class":241},[231,759,288],{"class":237},[231,761,291],{"class":241},[231,763,764],{"class":233,"line":255},[231,765,766],{"class":297},"  // This will cause an unhandled error.\n",[231,768,769,771,773,776,778,781],{"class":233,"line":262},[231,770,304],{"class":237},[231,772,307],{"class":237},[231,774,775],{"class":268}," Error",[231,777,272],{"class":241},[231,779,780],{"class":248},"\"Something went wrong\"",[231,782,360],{"class":241},[231,784,785],{"class":233,"line":294},[231,786,465],{"class":241},[625,788,789],{},[199,790,791,792,354,794,354,796,799,800,802],{},"\nFor enhanced security, H3 hides certain fields of unhandled errors (",[212,793,591],{},[212,795,600],{},[212,797,798],{},"stack"," and ",[212,801,585],{},") in JSON response.",[208,804,806],{"id":805},"catching-errors","Catching Errors",[199,808,809,810,816],{},"Using global ",[203,811,813],{"href":812},"/guide/api/h3#global-hooks",[212,814,815],{},"onError"," hook:",[222,818,820],{"className":224,"code":819,"language":226,"meta":227,"style":227},"import { H3, onError } from \"h3\";\n\n// Globally handling errors\nconst app = new H3({\n  onError: (error) => {\n    console.error(error);\n  },\n});\n",[212,821,822,835,839,844,862,879,889,894],{"__ignoreMap":227},[231,823,824,826,829,831,833],{"class":233,"line":234},[231,825,238],{"class":237},[231,827,828],{"class":241}," { H3, onError } ",[231,830,245],{"class":237},[231,832,249],{"class":248},[231,834,252],{"class":241},[231,836,837],{"class":233,"line":255},[231,838,259],{"emptyLinePlaceholder":258},[231,840,841],{"class":233,"line":262},[231,842,843],{"class":297},"// Globally handling errors\n",[231,845,846,849,852,855,857,860],{"class":233,"line":294},[231,847,848],{"class":237},"const",[231,850,851],{"class":321}," app",[231,853,854],{"class":237}," =",[231,856,307],{"class":237},[231,858,859],{"class":268}," H3",[231,861,383],{"class":241},[231,863,864,867,870,873,875,877],{"class":233,"line":301},[231,865,866],{"class":268},"  onError",[231,868,869],{"class":241},": (",[231,871,872],{"class":281},"error",[231,874,285],{"class":241},[231,876,288],{"class":237},[231,878,291],{"class":241},[231,880,881,884,886],{"class":233,"line":328},[231,882,883],{"class":241},"    console.",[231,885,872],{"class":268},[231,887,888],{"class":241},"(error);\n",[231,890,891],{"class":233,"line":333},[231,892,893],{"class":241},"  },\n",[231,895,896],{"class":233,"line":339},[231,897,465],{"class":241},[199,899,900,901,906],{},"Using ",[203,902,903,905],{"href":29},[212,904,815],{}," middleware"," to catch errors.",[222,908,910],{"className":224,"code":909,"language":226,"meta":227,"style":227},"import { onError } from \"h3\";\n\n// Handling errors using middleware\napp.use(\n  onError((error, event) => {\n    console.error(error);\n  }),\n);\n",[212,911,912,925,929,934,944,963,971,976],{"__ignoreMap":227},[231,913,914,916,919,921,923],{"class":233,"line":234},[231,915,238],{"class":237},[231,917,918],{"class":241}," { onError } ",[231,920,245],{"class":237},[231,922,249],{"class":248},[231,924,252],{"class":241},[231,926,927],{"class":233,"line":255},[231,928,259],{"emptyLinePlaceholder":258},[231,930,931],{"class":233,"line":262},[231,932,933],{"class":297},"// Handling errors using middleware\n",[231,935,936,938,941],{"class":233,"line":294},[231,937,265],{"class":241},[231,939,940],{"class":268},"use",[231,942,943],{"class":241},"(\n",[231,945,946,948,951,953,955,957,959,961],{"class":233,"line":301},[231,947,866],{"class":268},[231,949,950],{"class":241},"((",[231,952,872],{"class":281},[231,954,354],{"class":241},[231,956,282],{"class":281},[231,958,285],{"class":241},[231,960,288],{"class":237},[231,962,291],{"class":241},[231,964,965,967,969],{"class":233,"line":328},[231,966,883],{"class":241},[231,968,872],{"class":268},[231,970,888],{"class":241},[231,972,973],{"class":233,"line":333},[231,974,975],{"class":241},"  }),\n",[231,977,978],{"class":233,"line":339},[231,979,360],{"class":241},[625,981,982],{},[199,983,984,985,987],{},"\nWhen using nested apps, global hooks of sub-apps will not be called. Therefore it is better to use ",[212,986,815],{}," middleware.",[989,990,991],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":227,"searchDepth":255,"depth":255,"links":993},[994,998,999],{"id":210,"depth":255,"text":214,"children":995},[996],{"id":562,"depth":262,"text":997},"HTTPError Fields",{"id":723,"depth":255,"text":623},{"id":805,"depth":255,"text":806},"Send errors by throwing an HTTPError.","md",{"icon":46},{"icon":46},{"title":43,"description":1000},"CzCmw5CCVSv62XHW3DqRR_FxRPTo3aS1vg4V9MoUZZ8",[1007,1009],{"title":38,"path":39,"stem":40,"description":1008,"icon":41,"children":-1},"H3 automatically converts any returned value into a web response.",{"title":48,"path":49,"stem":50,"description":1010,"icon":51,"children":-1},"H3 has a native mount method for adding nested sub-apps to the main instance.",1783690727869]