0Pricing
Flask Academy · Урок

Регистрация функций errorhandler

Настраивайте ответы для 404 и 500.

«Регистрация функций errorhandler» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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", 404

Return 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", 404

The 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), 404

Handling 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", 500

Render 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"), 404

Return 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"), 404

Handlers 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", 400

App-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!

Часто задаваемые вопросы

Урок «Регистрация функций errorhandler» бесплатный?

Да — полный текст урока «Регистрация функций errorhandler» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Регистрация функций errorhandler»?

Настраивайте ответы для 404 и 500. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Регистрация функций errorhandler»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. abort и коды ошибок HTTP
  2. Регистрация функций errorhandler
  3. Создание классов пользовательских исключений
  4. Единый формат оболочек ошибок JSON
← Назад к Flask Academy