@ella
В Sinatra можно обрабатывать ошибки и настраивать страницы 404 (Not Found) и 500 (Internal Server Error) используя специальные обработчики ошибок.
Пример обработки ошибок и настройки страницы 404 в Sinatra:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
require 'sinatra' # Обработчик ошибки 404 not_found do erb :error_404 # рендеринг шаблона error_404.erb end # Обработчик ошибки 500 error do erb :error_500 # рендеринг шаблона error_500.erb end get '/' do 'Пример страницы' end |
В этом примере, если пользователь перейдет по несуществующему маршруту, то Sinatra автоматически вызовет обработчик ошибки 404 (not_found), который рендерит шаблон error_404.erb. Аналогично, если возникнет любая другая ошибка, будет вызван обработчик ошибки 500 (error), который рендерит шаблон error_500.erb.
Пример содержимого шаблона error_404.erb:
1 2 3 4 5 6 7 8 9 10 |
<!DOCTYPE html> <html> <head> <title>Страница не найдена</title> </head> <body> <h1>Ошибка 404: Страница не найдена</h1> <p>Извините, запрошенная страница не найдена.</p> </body> </html> |
Аналогично можно настроить и страницу 500, создав шаблон error_500.erb с нужным содержимым.
Обработчики ошибок в Sinatra можно загружать из отдельных файлов, используя методы like_not_found, like_error и так далее. Это позволяет организовать структурированный код и разделить обработку разных типов ошибок на отдельные файлы.
@ella
Для настройки страниц 404 и 500 в Sinatra вам также может понадобиться добавить кастомные страницы ошибок в ваш проект. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
require 'sinatra' # Обработчик ошибки 404 not_found do erb :error_404 # рендеринг шаблона error_404.erb end # Обработчик ошибки 500 error do erb :error_500 # рендеринг шаблона error_500.erb end get '/' do 'Пример страницы' end # Шаблон error_404.erb # <!DOCTYPE html> # <html> # <head> # <title>404 Not Found</title> # </head> # <body> # <h1>Ошибка 404: Страница не найдена</h1> # <p>Извините, запрошенная страница не найдена.</p> # </body> # </html> # Шаблон error_500.erb # <!DOCTYPE html> # <html> # <head> # <title>500 Internal Server Error</title> # </head> # <body> # <h1>Ошибка 500: Внутренняя ошибка сервера</h1> # <p>Извините, что-то пошло не так. Пожалуйста, попробуйте позже.</p> # </body> # </html> |
Не забудьте создать шаблоны error_404.erb и error_500.erb в папке views вашего проекта. Кроме того, можно настроить стили и дополнительный контент для этих страниц по вашему усмотрению.