]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Ukrainian translation for `docs/uk/docs/tutorial/handling-errors.md` page ...
authorValentyn <valentin.druzhinin@gmail.com>
Fri, 30 May 2025 13:31:13 +0000 (16:31 +0300)
committerGitHub <noreply@github.com>
Fri, 30 May 2025 13:31:13 +0000 (15:31 +0200)
docs/uk/docs/tutorial/handling-errors.md [new file with mode: 0644]

diff --git a/docs/uk/docs/tutorial/handling-errors.md b/docs/uk/docs/tutorial/handling-errors.md
new file mode 100644 (file)
index 0000000..12a356c
--- /dev/null
@@ -0,0 +1,255 @@
+# ΠžΠ±Ρ€ΠΎΠ±ΠΊΠ° ΠŸΠΎΠΌΠΈΠ»ΠΎΠΊ
+
+Π„ Π±Π°Π³Π°Ρ‚ΠΎ ΡΠΈΡ‚ΡƒΠ°Ρ†Ρ–ΠΉ, ΠΊΠΎΠ»ΠΈ ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ ΠΏΠΎΠ²Ρ–Π΄ΠΎΠΌΠΈΡ‚ΠΈ ΠΊΠ»Ρ–Ρ”Π½Ρ‚Π°, ΡΠΊΠΈΠΉ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ” Π’Π°Ρˆ API, ΠΏΡ€ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ.
+
+Π¦ΠΈΠΌ ΠΊΠ»Ρ–Ρ”Π½Ρ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ–Π· Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ΠΎΠΌ, ΠΊΠΎΠ΄ Ρ–Π½ΡˆΠΎΠ³ΠΎ Ρ€ΠΎΠ·Ρ€ΠΎΠ±Π½ΠΈΠΊΠ°, IoT-пристрій Ρ‚ΠΎΡ‰ΠΎ.
+
+МоТливо, Π’Π°ΠΌ ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ ΠΏΠΎΠ²Ρ–Π΄ΠΎΠΌΠΈΡ‚ΠΈ ΠΊΠ»Ρ–Ρ”Π½Ρ‚Π°, Ρ‰ΠΎ:
+
+* Π£ Π½ΡŒΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚Π½ΡŒΠΎ ΠΏΡ€Π°Π² Π΄Π»Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Ρ†Ρ–Ρ”Ρ— ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–Ρ—.
+* Π’Ρ–Π½ Π½Π΅ ΠΌΠ°Ρ” Π΄ΠΎΡΡ‚ΡƒΠΏΡƒ Π΄ΠΎ Ρ†ΡŒΠΎΠ³ΠΎ Ρ€Π΅ΡΡƒΡ€ΡΡƒ.
+* Π•Π»Π΅ΠΌΠ΅Π½Ρ‚, Π΄ΠΎ ΡΠΊΠΎΠ³ΠΎ Π²Ρ–Π½ Π½Π°ΠΌΠ°Π³Π°Ρ”Ρ‚ΡŒΡΡ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ‚ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏ, Π½Π΅ Ρ–снує.
+* Ρ‚ΠΎΡ‰ΠΎ.
+
+Π£ Ρ‚Π°ΠΊΠΈΡ… Π²ΠΈΠΏΠ°Π΄ΠΊΠ°Ρ… Π·Π°Π·Π²ΠΈΡ‡Π°ΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ”Ρ‚ΡŒΡΡ **HTTP ΡΡ‚атус-ΠΊΠΎΠ΄** Π² Π΄Ρ–Π°ΠΏΠ°Π·ΠΎΠ½Ρ– **400** (Π²Ρ–Π΄ 400 Π΄ΠΎ 499).
+
+Π¦Π΅ ΡΡ…ΠΎΠΆΠ΅ Π½Π° HTTP ΡΡ‚атус-ΠΊΠΎΠ΄ΠΈ 200 (Π²Ρ–Π΄ 200 Π΄ΠΎ 299). Π¦Ρ– "200" ΡΡ‚атус-ΠΊΠΎΠ΄ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡŒ, Ρ‰ΠΎ Π·Π°ΠΏΠΈΡ‚ ΠΏΡ€ΠΎΠΉΡˆΠΎΠ² ΡƒΡΠΏΡ–ΡˆΠ½ΠΎ.
+
+Бтатус-ΠΊΠΎΠ΄ΠΈ Π² Π΄Ρ–Π°ΠΏΠ°Π·ΠΎΠ½Ρ– 400 ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡŒ, Ρ‰ΠΎ ΡΡ‚алася ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° Π· Π±ΠΎΠΊΡƒ ΠΊΠ»Ρ–Ρ”Π½Ρ‚Π°.
+
+Пам'ятаєтС Π²ΡΡ– Ρ†Ρ– ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ **404 Not Found** (Ρ– ΠΆΠ°Ρ€Ρ‚ΠΈ ΠΏΡ€ΠΎ Π½ΠΈΡ…)?
+
+## Π’икористання `HTTPException`
+
+Π©ΠΎΠ± ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΠΈ HTTP-Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Ρ– Π· ΠΏΠΎΠΌΠΈΠ»ΠΊΠ°ΠΌΠΈ ΠΊΠ»Ρ–Ρ”Π½Ρ‚Ρƒ, Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠΉΡ‚Π΅ `HTTPException`.
+
+### Π†ΠΌΠΏΠΎΡ€Ρ‚ `HTTPException`
+
+{* ../../docs_src/handling_errors/tutorial001.py hl[1] *}
+
+### Π’икористання `HTTPException` Ρƒ ΠΊΠΎΠ΄Ρ–
+
+`HTTPException` β€” Ρ†Π΅ Π·Π²ΠΈΡ‡Π°ΠΉΠ½Π° ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° Python Ρ–Π· Π΄ΠΎΠ΄Π°Ρ‚ΠΊΠΎΠ²ΠΈΠΌΠΈ Π΄Π°Π½ΠΈΠΌΠΈ, ΡΠΊΡ– ΡΡ‚ΠΎΡΡƒΡŽΡ‚ΡŒΡΡ API.
+
+ΠžΡΠΊΡ–Π»ΡŒΠΊΠΈ Ρ†Π΅ ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° Python, Π’ΠΈ Π½Π΅ `ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ”Ρ‚Π΅` ΠΉΠΎΠ³ΠΎ, Π° `Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚Π΅` (Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚Π΅ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ).
+
+Π¦Π΅ Ρ‚Π°ΠΊΠΎΠΆ ΠΎΠ·Π½Π°Ρ‡Π°Ρ”, Ρ‰ΠΎ ΡΠΊΡ‰ΠΎ Π’ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΡƒΠ²Π°Ρ”Ρ‚Π΅ Π²ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρ– Π΄ΠΎΠΏΠΎΠΌΡ–ΠΆΠ½ΠΎΡ— Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—, ΡΠΊΡƒ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ”Ρ‚Π΅ Π²ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρ– ΡΠ²ΠΎΡ”Ρ— *Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–Ρ— ΡˆΠ»ΡΡ…Ρƒ*, Ρ– Ρ‚Π°ΠΌ Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚Π΅ `HTTPException`, Π²ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρ– Ρ†Ρ–Ρ”Ρ— Π΄ΠΎΠΏΠΎΠΌΡ–ΠΆΠ½ΠΎΡ— Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—, Ρ‚ΠΎ Ρ€Π΅ΡˆΡ‚Π° ΠΊΠΎΠ΄Ρƒ Π² *Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–Ρ— ΡˆΠ»ΡΡ…Ρƒ* Π½Π΅ Π±ΡƒΠ΄Π΅ Π²ΠΈΠΊΠΎΠ½Π°Π½Π°. Π—Π°ΠΏΠΈΡ‚ ΠΎΠ΄Ρ€Π°Π·Ρƒ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ, Ρ– HTTP-ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° Π· `HTTPException` Π±ΡƒΠ΄Π΅ Π½Π°Π΄Ρ–слана ΠΊΠ»Ρ–Ρ”Π½Ρ‚Ρƒ.
+
+ΠŸΠ΅Ρ€Π΅Π²Π°Π³Π° Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ання `Π³Π΅Π½Π΅Ρ€Π°Ρ†Ρ–Ρ—` (raise) ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Π·Π°ΠΌΡ–ΡΡ‚ΡŒ `повСрнСння` Π·Π½Π°Ρ‡Π΅Π½Π½Ρ (return) ΡΡ‚Π°Π½Π΅ Π±Ρ–Π»ΡŒΡˆ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΈΠΌ Π² Ρ€ΠΎΠ·Π΄Ρ–Π»Ρ– ΠΏΡ€ΠΎ Π—алСТності Ρ‚Π° Π‘Π΅Π·ΠΏΠ΅ΠΊΡƒ.
+
+Π£ Ρ†ΡŒΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρ–, ΡΠΊΡ‰ΠΎ ΠΊΠ»Ρ–Ρ”Π½Ρ‚ Π·Π°ΠΏΠΈΡ‚ΡƒΡ” Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π·Π° ID, ΡΠΊΠΎΠ³ΠΎ Π½Π΅ Ρ–снує, Π±ΡƒΠ΄Π΅ Π·Π³Π΅Π½Π΅Ρ€ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ Π·Ρ– ΡΡ‚атус-ΠΊΠΎΠ΄ΠΎΠΌ `404`:
+
+{* ../../docs_src/handling_errors/tutorial001.py hl[11] *}
+
+### ΠžΡ‚Ρ€ΠΈΠΌΠ°Π½Π° Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄ΡŒ
+
+Π―ΠΊΡ‰ΠΎ ΠΊΠ»Ρ–Ρ”Π½Ρ‚ Ρ€ΠΎΠ±ΠΈΡ‚ΡŒ Π·Π°ΠΏΠΈΡ‚ Π·Π° ΡˆΠ»ΡΡ…ΠΎΠΌ `http://example.com/items/foo` (Π΄Π΅ `item_id` `"foo"`), Π²Ρ–Π½ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ” ΡΡ‚атус-ΠΊΠΎΠ΄ 200 Ρ– JSON Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄ΡŒ:
+
+```JSON
+{
+  "item": "The Foo Wrestlers"
+}
+```
+
+АлС ΡΠΊΡ‰ΠΎ ΠΊΠ»Ρ–Ρ”Π½Ρ‚ Ρ€ΠΎΠ±ΠΈΡ‚ΡŒ Π·Π°ΠΏΠΈΡ‚ Π½Π° `http://example.com/items/bar` (Π΄Π΅ `item_id` ΠΌΠ°Ρ” Π½Π΅ Ρ–ΡΠ½ΡƒΡŽΡ‡Π΅ Π·Π½Π°Ρ‡Π΅Π½Π½Ρ `"bar"`), Ρ‚ΠΎ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ” ΡΡ‚атус-ΠΊΠΎΠ΄ 404 (ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° "Π½Π΅ Π·Π½Π°ΠΉΠ΄Π΅Π½ΠΎ") Ρ‚Π° Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄ΡŒ:
+
+```JSON
+{
+  "detail": "Item not found"
+}
+```
+
+/// tip | ΠŸΠΎΡ€Π°Π΄Π°
+
+ΠŸΡ–Π΄ Ρ‡Π°Ρ Π²ΠΈΠΊΠ»ΠΈΠΊΡƒ `HTTPException` Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΠΈ Π±ΡƒΠ΄ΡŒ-якС Π·Π½Π°Ρ‡Π΅Π½Π½Ρ, ΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Π΅ Π² JSON, ΡΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ `detail`, Π° Π½Π΅ Π»ΠΈΡˆΠ΅ Ρ€ΡΠ΄ΠΎΠΊ (`str`).
+
+Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΠΈ `dict`, `list` Ρ‚ΠΎΡ‰ΠΎ.
+
+Π’ΠΎΠ½ΠΈ ΠΎΠ±Ρ€ΠΎΠ±Π»ΡΡŽΡ‚ΡŒΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡŽ **FastAPI** Ρ‚Π° ΠΏΠ΅Ρ€Π΅Ρ‚Π²ΠΎΡ€ΡŽΡŽΡ‚ΡŒΡΡ Π² JSON.
+
+///
+
+## Π”одавання Π²Π»Π°ΡΠ½ΠΈΡ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡ–Π²
+
+Π†Π½ΠΎΠ΄Ρ– ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π²Π»Π°ΡΠ½Ρ– Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π΄ΠΎ HTTP-ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΊΠ»Π°Π΄, Π΄Π»Ρ ΠΏΠ΅Π²Π½ΠΈΡ… Ρ‚ΠΈΠΏΡ–Π² Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ.
+
+Π™ΠΌΠΎΠ²Ρ–Ρ€Π½ΠΎ, Π’Π°ΠΌ Π½Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Ρ‚ΡŒΡΡ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ Ρ†Π΅ Π±Π΅Π·ΠΏΠΎΡΠ΅Ρ€Π΅Π΄Π½ΡŒΠΎ Ρƒ ΡΠ²ΠΎΡ”ΠΌΡƒ ΠΊΠΎΠ΄Ρ–.
+
+АлС ΡΠΊΡ‰ΠΎ Π’Π°ΠΌ Π·Π½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ†Π΅ Π΄Π»Ρ ΡΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΡ†Π΅Π½Π°Ρ€Ρ–ΡŽ, Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π²Π»Π°ΡΠ½Ρ– Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ:
+
+{* ../../docs_src/handling_errors/tutorial002.py hl[14] *}
+
+## Π’становлСння Π²Π»Π°ΡΠ½ΠΈΡ… ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΡ–Π² ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ
+
+Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π²Π»Π°ΡΠ½Ρ– ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡŽ <a href="https://www.starlette.io/exceptions/" class="external-link" target="_blank">Ρ‚ΠΈΡ… ΡΠ°ΠΌΠΈΡ… ΡƒΡ‚ΠΈΠ»Ρ–Ρ‚ ΠΎΠ±Ρ€ΠΎΠ±ΠΊΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Ρ– Starlette</a>.
+
+ΠŸΡ€ΠΈΠΏΡƒΡΡ‚ΠΈΠΌΠΎ, Ρƒ Π’ас Ρ” Π²Π»Π°ΡΠ½ΠΈΠΉ ΠΎΠ±ΚΌΡ”ΠΊΡ‚ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ `UnicornException`, ΡΠΊΠ΅ Π’ΠΈ (Π°Π±ΠΎ Π±Ρ–Π±Π»Ρ–ΠΎΡ‚Π΅ΠΊΠ°, ΡΠΊΡƒ Π’ΠΈ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚Π΅) ΠΌΠΎΠΆΠ΅ `Π·Π³Π΅Π½Π΅Ρ€ΡƒΠ²Π°Ρ‚ΠΈ` (`raise`).
+
+Π† Π’ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚Π΅ ΠΎΠ±Ρ€ΠΎΠ±Π»ΡΡ‚ΠΈ Ρ†Π΅ Π²ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡŽ FastAPI.
+
+Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π²Π»Π°ΡΠ½ΠΈΠΉ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ Π²ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΡŒ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡŽ `@app.exception_handler()`:
+
+{* ../../docs_src/handling_errors/tutorial003.py hl[5:7,13:18,24] *}
+
+Π’ΡƒΡ‚, ΡΠΊΡ‰ΠΎ Π’ΠΈ Π·Π²Π΅Ρ€Π½Π΅Ρ‚Сся Π΄ΠΎ `/unicorns/yolo`, Ρ‚ΠΎ Π·Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚ΡŒΡΡ ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° `UnicornException`.
+
+АлС Π²ΠΎΠ½Π° Π±ΡƒΠ΄Π΅ ΠΎΠ±Ρ€ΠΎΠ±Π»Π΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ”ΡŽ-ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠΎΠΌ `unicorn_exception_handler`.
+
+ΠžΡ‚ΠΆΠ΅, Π’ΠΈ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ”Ρ‚Π΅ Π·Ρ€ΠΎΠ·ΡƒΠΌΡ–Π»Ρƒ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ Π·Ρ– HTTP-статусом `418` Ρ– JSON-Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π΄ΡŽ:
+
+```JSON
+{"message": "Oops! yolo did something. There goes a rainbow..."}
+```
+
+/// note | Π’Π΅Ρ…Π½Ρ–Ρ‡Π½Ρ– Π΄Π΅Ρ‚Π°Π»Ρ–
+
+Π’ΠΈ Ρ‚Π°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ `from starlette.requests import Request` Ρ– `from starlette.responses import JSONResponse`.
+
+**FastAPI** Π½Π°Π΄Π°Ρ” Ρ‚Ρ– ΡΠ°ΠΌΡ– `starlette.responses`, Ρ‰ΠΎ ΠΉ `fastapi.responses`, ΠΏΡ€ΠΎΡΡ‚ΠΎ Π΄Π»Ρ Π·Ρ€ΡƒΡ‡Π½ΠΎΡΡ‚Ρ– Ρ€ΠΎΠ·Ρ€ΠΎΠ±Π½ΠΈΠΊΠ°. ΠΠ»Π΅ Π±Ρ–Π»ΡŒΡˆΡ–ΡΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΈΡ… Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π΅ΠΉ Π½Π°Π΄Ρ…ΠΎΠ΄ΡΡ‚ΡŒ Π±Π΅Π·ΠΏΠΎΡΠ΅Ρ€Π΅Π΄Π½ΡŒΠΎ Π·Ρ– Starlette. Π’Π΅ ΠΆ ΡΠ°ΠΌΠ΅ ΡΡ‚ΠΎΡΡƒΡ”Ρ‚ΡŒΡΡ Ρ– `Request`.
+
+///
+
+## ΠŸΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΡ–Π² ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° Π·Π°ΠΌΠΎΠ²Ρ‡ΡƒΠ²Π°Π½Π½ΡΠΌ
+
+**FastAPI** ΠΌΠ°Ρ” ΠΊΡ–Π»ΡŒΠΊΠ° ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΡ–Π² ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° Π·Π°ΠΌΠΎΠ²Ρ‡ΡƒΠ²Π°Π½Π½ΡΠΌ.
+
+Π¦Ρ– ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠΈ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π°ΡŽΡ‚ΡŒ Π·Π° ΠΏΠΎΠ²Π΅Ρ€Π½Π΅Π½Π½Ρ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΈΡ… JSON-Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π΅ΠΉ, ΠΊΠΎΠ»ΠΈ Π’ΠΈ `Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚Π΅` (`raise`) `HTTPException`, Π° Ρ‚Π°ΠΊΠΎΠΆ ΠΊΠΎΠ»ΠΈ Π·Π°ΠΏΠΈΡ‚ ΠΌΡ–ΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½Ρ– Π΄Π°Π½Ρ–.
+
+Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡ΠΈΡ‚ΠΈ Ρ†Ρ– ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠΈ, ΡΡ‚Π²ΠΎΡ€ΠΈΠ²ΡˆΠΈ Π²Π»Π°ΡΠ½Ρ–.
+
+### ΠŸΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π²Π°Π»Ρ–Π΄Π°Ρ†Ρ–Ρ— Π·Π°ΠΏΠΈΡ‚Ρƒ
+
+Коли Π·Π°ΠΏΠΈΡ‚ ΠΌΡ–ΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½Ρ– Π΄Π°Π½Ρ–, **FastAPI** Π³Π΅Π½Π΅Ρ€ΡƒΡ” `RequestValidationError`.
+
+Π† Ρ‚Π°ΠΊΠΎΠΆ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ” ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° Π·Π°ΠΌΠΎΠ²Ρ‡ΡƒΠ²Π°Π½Π½ΡΠΌ Π΄Π»Ρ Π½ΡŒΠΎΠ³ΠΎ.
+
+Π©ΠΎΠ± ΠΏΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡ΠΈΡ‚ΠΈ ΠΉΠΎΠ³ΠΎ, Ρ–ΠΌΠΏΠΎΡ€Ρ‚ΡƒΠΉΡ‚Π΅ `RequestValidationError` Ρ– Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠΉΡ‚Π΅ ΠΉΠΎΠ³ΠΎ Π· `@app.exception_handler(RequestValidationError)` Π΄Π»Ρ Π΄Π΅ΠΊΠΎΡ€ΡƒΠ²Π°Π½Π½Ρ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠ° ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ.
+
+ΠžΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ ΠΎΡ‚Ρ€ΠΈΠΌΡƒΡ” `Request` Ρ– ΡΠ°ΠΌΡƒ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ.
+
+{* ../../docs_src/handling_errors/tutorial004.py hl[2,14:16] *}
+
+Π’Π΅ΠΏΠ΅Ρ€, ΡΠΊΡ‰ΠΎ Π’ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚Π΅ Π·Π° ΠΏΠΎΡΠΈΠ»Π°Π½Π½ΡΠΌ `/items/foo`, Π·Π°ΠΌΡ–ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‰ΠΎΠ± ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ‚ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρƒ JSON-ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ:
+
+```JSON
+{
+    "detail": [
+        {
+            "loc": [
+                "path",
+                "item_id"
+            ],
+            "msg": "value is not a valid integer",
+            "type": "type_error.integer"
+        }
+    ]
+}
+```
+
+Π’ΠΈ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ”Ρ‚Π΅ Ρ‚Скстову Π²Π΅Ρ€ΡΡ–ΡŽ:
+
+```
+1 validation error
+path -> item_id
+  value is not a valid integer (type=type_error.integer)
+```
+
+#### `RequestValidationError` ΠΏΡ€ΠΎΡ‚ΠΈ `ValidationError`
+
+/// warning | Π£Π²Π°Π³Π°
+
+Π¦Π΅ Ρ‚Π΅Ρ…Π½Ρ–Ρ‡Π½Ρ– Π΄Π΅Ρ‚Π°Π»Ρ–, ΡΠΊΡ– Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΠΈ, ΡΠΊΡ‰ΠΎ Π²ΠΎΠ½ΠΈ Π·Π°Ρ€Π°Π· Π½Π΅ Π²Π°ΠΆΠ»ΠΈΠ²Ρ– Π΄Π»Ρ Π’ас.
+
+///
+
+`RequestValidationError` Ρ” ΠΏΡ–дкласом Pydantic <a href="https://docs.pydantic.dev/latest/concepts/models/#error-handling" class="external-link" target="_blank">`ValidationError`</a>.
+
+**FastAPI** Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ” ΠΉΠΎΠ³ΠΎ Π΄Π»Ρ Ρ‚ΠΎΠ³ΠΎ, ΡΠΊΡ‰ΠΎ Π’ΠΈ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΡŒ Pydantic Ρƒ `response_model` Ρ– Ρƒ Π²Π°ΡˆΠΈΡ… Π΄Π°Π½ΠΈΡ… Ρ” ΠΏΠΎΠΌΠΈΠ»ΠΊΠ°, Π’ΠΈ ΠΏΠΎΠ±Π°Ρ‡ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ Ρƒ ΡΠ²ΠΎΡ”ΠΌΡƒ ΠΆΡƒΡ€Π½Π°Π»Ρ–.
+
+АлС ΠΊΠ»Ρ–Ρ”Π½Ρ‚/користувач Π½Π΅ ΠΏΠΎΠ±Π°Ρ‡ΠΈΡ‚ΡŒ Ρ—Ρ—. ΠΠ°Ρ‚ΠΎΠΌΡ–ΡΡ‚ΡŒ ΠΊΠ»Ρ–Ρ”Π½Ρ‚ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ” "Internal Server Error" Π·Ρ– ΡΡ‚атусом HTTP `500`.
+
+Π’Π°ΠΊ ΠΌΠ°Ρ” Π±ΡƒΡ‚ΠΈ, ΡΠΊΡ‰ΠΎ Ρƒ Π’ас Π²ΠΈΠ½ΠΈΠΊΠ»Π° `ValidationError` Pydantic Ρƒ *Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Ρ–* Π°Π±ΠΎ Π΄Π΅Ρ–Π½Π΄Π΅ Ρƒ Π²Π°ΡˆΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρ– (Π½Π΅ Ρƒ *Π·Π°ΠΏΠΈΡ‚Ρ–* ΠΊΠ»Ρ–Ρ”Π½Ρ‚Π°), Ρ†Π΅ Π½Π°ΡΠΏΡ€Π°Π²Π΄Ρ– Ρ” ΠΏΠΎΠΌΠΈΠ»ΠΊΠΎΡŽ Ρƒ Π’Π°ΡˆΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρ–.
+
+Π† ΠΏΠΎΠΊΠΈ Π’ΠΈ Ρ—Ρ— Π²ΠΈΠΏΡ€Π°Π²Π»ΡΡ”Ρ‚Π΅, ΠΊΠ»Ρ–Ρ”Π½Ρ‚ΠΈ/користувачі Π½Π΅ ΠΏΠΎΠ²ΠΈΠ½Π½Ρ– ΠΌΠ°Ρ‚ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΡƒ Π΄ΠΎ Π²Π½ΡƒΡ‚Ρ€Ρ–ΡˆΠ½ΡŒΠΎΡ— Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†Ρ–Ρ— ΠΏΡ€ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ, ΠΎΡΠΊΡ–Π»ΡŒΠΊΠΈ Ρ†Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΡ€ΠΈΠ·Π²Π΅ΡΡ‚ΠΈ Π΄ΠΎ Π²Ρ€Π°Π·Π»ΠΈΠ²ΠΎΡΡ‚Ρ– Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ.
+
+### ΠŸΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠ° ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ `HTTPException`
+
+Аналогічно, Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΈΠ·Π½Π°Ρ‡ΠΈΡ‚ΠΈ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ `HTTPException`.
+
+Наприклад, Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Ρ–Ρ‚ΠΈ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΠΈ Ρ‚Скстову Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄ΡŒ Π·Π°ΠΌΡ–ΡΡ‚ΡŒ JSON Π΄Π»Ρ Ρ†ΠΈΡ… ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ:
+
+{* ../../docs_src/handling_errors/tutorial004.py hl[3:4,9:11,22] *}
+
+/// note | Π’Π΅Ρ…Π½Ρ–Ρ‡Π½Ρ– Π΄Π΅Ρ‚Π°Π»Ρ–
+
+Π’ΠΈ Ρ‚Π°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ `from starlette.responses import PlainTextResponse`.
+
+**FastAPI** Π½Π°Π΄Π°Ρ” Ρ‚Ρ– ΡΠ°ΠΌΡ– `starlette.responses`, Ρ‰ΠΎ ΠΉ `fastapi.responses`, ΠΏΡ€ΠΎΡΡ‚ΠΎ Π΄Π»Ρ Π·Ρ€ΡƒΡ‡Π½ΠΎΡΡ‚Ρ– Ρ€ΠΎΠ·Ρ€ΠΎΠ±Π½ΠΈΠΊΠ°. ΠΠ»Π΅ Π±Ρ–Π»ΡŒΡˆΡ–ΡΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΈΡ… Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π΅ΠΉ Π½Π°Π΄Ρ…ΠΎΠ΄ΡΡ‚ΡŒ Π±Π΅Π·ΠΏΠΎΡΠ΅Ρ€Π΅Π΄Π½ΡŒΠΎ Π·Ρ– Starlette.
+
+///
+
+### Π’икористання Ρ‚Ρ–Π»Π° `RequestValidationError`
+
+`RequestValidationError` ΠΌΡ–ΡΡ‚ΠΈΡ‚ΡŒ `body`, ΡΠΊΠΈΠΉ Π²Ρ–Π½ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Π² Ρ–Π· Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΈΠΌΠΈ Π΄Π°Π½ΠΈΠΌΠΈ.
+
+Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ Ρ†Π΅ ΠΏΡ–Π΄ Ρ‡Π°Ρ Ρ€ΠΎΠ·Ρ€ΠΎΠ±ΠΊΠΈ ΡΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠ΄Π°Ρ‚ΠΊΠ°, Ρ‰ΠΎΠ± Π»ΠΎΠ³ΡƒΠ²Π°Ρ‚ΠΈ Ρ‚Ρ–Π»ΠΎ Π·Π°ΠΏΠΈΡ‚Ρƒ Ρ‚Π° Π½Π°Π»Π°Π³ΠΎΠ΄ΠΆΡƒΠ²Π°Ρ‚ΠΈ ΠΉΠΎΠ³ΠΎ, ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ‚ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚ΡƒΠ²Π°Ρ‡Π΅Π²Ρ– Ρ‚ΠΎΡ‰ΠΎ.
+
+{* ../../docs_src/handling_errors/tutorial005.py hl[14] *}
+
+Π’Π΅ΠΏΠ΅Ρ€ ΡΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°Π΄Ρ–слати Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΈΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΊΠ»Π°Π΄:
+
+```JSON
+{
+  "title": "towel",
+  "size": "XL"
+}
+```
+Π’ΠΈ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ”Ρ‚Π΅ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄ΡŒ, ΡΠΊΠ° ΠΏΠΎΠ²Ρ–Π΄ΠΎΠΌΠΈΡ‚ΡŒ Π’Π°ΠΌ, ΡΠΊΡ– ΡΠ°ΠΌΠ΅ Π΄Π°Π½Ρ– Ρ” Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½Ρ– Ρƒ Π²Π°ΡˆΠΎΠΌΡƒ Ρ‚Ρ–Π»Ρ– Π·Π°ΠΏΠΈΡ‚Ρƒ:
+
+
+```JSON hl_lines="12-15"
+{
+  "detail": [
+    {
+      "loc": [
+        "body",
+        "size"
+      ],
+      "msg": "value is not a valid integer",
+      "type": "type_error.integer"
+    }
+  ],
+  "body": {
+    "title": "towel",
+    "size": "XL"
+  }
+}
+```
+
+#### `HTTPException` FastAPI ΠΏΡ€ΠΎΡ‚ΠΈ `HTTPException` Starlette
+
+**FastAPI** ΠΌΠ°Ρ” Π²Π»Π°ΡΠ½ΠΈΠΉ `HTTPException`.
+
+Π† ΠΊΠ»Π°Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ `HTTPException` Π² **FastAPI** ΡƒΡΠΏΠ°Π΄ΠΊΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ Π²Ρ–Π΄ ΠΊΠ»Π°ΡΡƒ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ `HTTPException` Π² Starlette.
+
+Π„Π΄ΠΈΠ½Π° Ρ€Ρ–зниця ΠΏΠΎΠ»ΡΠ³Π°Ρ” Π² Ρ‚ΠΎΠΌΡƒ, Ρ‰ΠΎ `HTTPException` Π² **FastAPI** ΠΏΡ€ΠΈΠΉΠΌΠ°Ρ” Π±ΡƒΠ΄ΡŒ-які Π΄Π°Π½Ρ–, ΡΠΊΡ– ΠΌΠΎΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΠΈ Π½Π° JSON, Π΄Π»Ρ ΠΏΠΎΠ»Ρ `detail`, Ρ‚ΠΎΠ΄Ρ– ΡΠΊ `HTTPException` Ρƒ Starlette ΠΏΡ€ΠΈΠΉΠΌΠ°Ρ” Ρ‚Ρ–Π»ΡŒΠΊΠΈ Ρ€ΡΠ΄ΠΊΠΈ.
+
+ΠžΡ‚ΠΆΠ΅, Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ²ΠΆΡƒΠ²Π°Ρ‚ΠΈ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ `HTTPException` Π² **FastAPI** ΡΠΊ Π·Π°Π·Π²ΠΈΡ‡Π°ΠΉ Ρƒ ΡΠ²ΠΎΡ”ΠΌΡƒ ΠΊΠΎΠ΄Ρ–.
+
+АлС ΠΊΠΎΠ»ΠΈ Π’ΠΈ Ρ€Π΅Ρ”струєтС ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ Π²ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΡŒ, ΡΠ»Ρ–Π΄ Ρ€Π΅Ρ”струвати ΠΉΠΎΠ³ΠΎ Π΄Π»Ρ `HTTPException` Π·Ρ– Starlette.
+
+Π’Π°ΠΊΠΈΠΌ Ρ‡ΠΈΠ½ΠΎΠΌ, ΡΠΊΡ‰ΠΎ Π±ΡƒΠ΄ΡŒ-яка Ρ‡Π°ΡΡ‚ΠΈΠ½Π° Π²Π½ΡƒΡ‚Ρ€Ρ–ΡˆΠ½ΡŒΠΎΠ³ΠΎ ΠΊΠΎΠ΄Ρƒ Starlette Π°Π±ΠΎ Ρ€ΠΎΠ·ΡˆΠΈΡ€Π΅Π½Π½Ρ Ρ‡ΠΈ ΠΏΠ»Π°Π³Ρ–Π½ Starlette Π·Π³Π΅Π½Π΅Ρ€ΡƒΡ” (raise) `HTTPException`, Π’Π°Ρˆ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ Π·ΠΌΠΎΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠΏΠΈΡ‚ΠΈ Ρ‚Π° ΠΎΠ±Ρ€ΠΎΠ±ΠΈΡ‚ΠΈ Ρ—Ρ—.
+
+Π£ Ρ†ΡŒΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρ–, Ρ‰ΠΎΠ± ΠΌΠ°Ρ‚ΠΈ ΠΌΠΎΠΆΠ»ΠΈΠ²Ρ–ΡΡ‚ΡŒ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ ΠΎΠ±ΠΈΠ΄Π²Π° `HTTPException` Π² ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρ–, ΠΏΠΎΠΌΠΈΠ»ΠΊΠ° Starlette ΠΏΠ΅Ρ€Π΅ΠΉΠΌΠ΅Π½ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ Π½Π° `StarletteHTTPException`:
+
+```Python
+from starlette.exceptions import HTTPException as StarletteHTTPException
+```
+
+### ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π΅ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ання ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΡ–Π² ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ **FastAPI**
+
+Π―ΠΊΡ‰ΠΎ Π’ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚Π΅ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Ρ€Π°Π·ΠΎΠΌ Ρ–Π· Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° Π·Π°ΠΌΠΎΠ²Ρ‡ΡƒΠ²Π°Π½Π½ΡΠΌ, ΡΠΊ Ρƒ **FastAPI**, Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ–ΠΌΠΏΠΎΡ€Ρ‚ΡƒΠ²Π°Ρ‚ΠΈ Ρ‚Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ Ρ—Ρ… Ρ–Π· `fastapi.exception_handlers`:
+
+{* ../../docs_src/handling_errors/tutorial006.py hl[2:5,15,21] *}
+
+Π£ Ρ†ΡŒΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρ– Π’ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚Π΅ `print` Π΄Π»Ρ Π²ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ Π΄ΡƒΠΆΠ΅ Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Ρ–домлСння, Π°Π»Π΅ Π’ΠΈ Π·Ρ€ΠΎΠ·ΡƒΠΌΡ–Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Ρƒ Ρ–Π΄Π΅ΡŽ. Π’ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€ΠΎΠ±ΠΈΡ‚ΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΊΡƒ Ρ‚Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈ ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° Π·Π°ΠΌΠΎΠ²Ρ‡ΡƒΠ²Π°Π½Π½ΡΠΌ.