Как обрабатывать ошибки и настраивать страницы 404 и 500 в Sinatra?

Пользователь

от ella , в категории: Ruby , 6 месяцев назад

Как обрабатывать ошибки и настраивать страницы 404 и 500 в Sinatra?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от bart , 6 месяцев назад

@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 и так далее. Это позволяет организовать структурированный код и разделить обработку разных типов ошибок на отдельные файлы.