Rejestrowanie funkcji errorhandler
Dostosuj odpowiedzi dla kodów 404 i 500.
Rejestrowanie funkcji errorhandler to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Beyond the Default Page
Flask shows a plain error page out of the box. You can replace it by registering your own errorhandler for any status code.
The errorhandler Decorator
You attach a function to a code with a decorator. This handler runs whenever that error happens anywhere in your app.
@app.errorhandler(404)
def not_found(e):
return "Nothing here", 404Return a Tuple
A handler returns a body and a status code, just like a view. The status code keeps the response honest about what failed.
return "Not found", 404The Error Argument
Each handler receives the error object as its argument. You can read its description or code to shape your reply.
def not_found(e):
return str(e.description), 404Handling 500 Errors
Unexpected crashes become a 500. Register a handler so users see a calm message instead of a raw stack trace.
@app.errorhandler(500)
def boom(e):
return "Server error", 500Render a Template Instead
Most apps return a styled page on error. Just call render_template in the handler and pass the status code along.
return render_template("404.html"), 404Return JSON for APIs
An API should answer errors in JSON, not HTML. Use jsonify so clients can parse the failure cleanly.
return jsonify(error="Not found"), 404Handlers Catch abort Too
Calling abort with a code triggers the matching handler. So one errorhandler covers both crashes and your own aborts.
Handle Exception Classes
You can register a handler by exception type, not just by number. Pass an exception class to catch a whole family at once.
@app.errorhandler(ValueError)
def bad(e):
return "Bad value", 400App-Wide vs Blueprint
Handlers on app apply everywhere, while a blueprint can scope its own. This lets each part of a big app fail its own way.
Why Custom Handlers Help
Consistent error pages keep your brand and your API tidy. A central handler means you fix the message in one place.
Quick Check
Spot the decorator that customizes a missing-page response.
Recap
You can now register errorhandler functions, read the error object, and return HTML or JSON with the right code. Great progress!
Często zadawane pytania
Czy lekcja „Rejestrowanie funkcji errorhandler” jest bezpłatna?
Tak — pełny tekst „Rejestrowanie funkcji errorhandler” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Rejestrowanie funkcji errorhandler”?
Dostosuj odpowiedzi dla kodów 404 i 500. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Rejestrowanie funkcji errorhandler”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- abort i kody błędów HTTP
- Rejestrowanie funkcji errorhandler
- Zgłaszanie własnych klas wyjątków
- Jednolite koperty błędów JSON