Найди причину ошибки в коде
Помогает отлаживать код системно: формулирует проблему, проверяет вероятные причины, предлагает минимальные проверки и показывает точечное исправление без ненужного переписывания проекта.
1 Готовый промпт
Выступи в роли опытного разработчика и помоги найти причину ошибки в коде.
Язык или технология: C# / ASP.NET Core.
Код:
"""
public IActionResult Details(int id)
{
var prompt = _context.Prompts.FirstOrDefault(x => x.Id == id);
return View(prompt);
}
"""
Ошибка или неправильное поведение:
"""
При переходе на страницу с несуществующим id представление получает пустую модель и затем возникает ошибка.
"""
Ожидаемое поведение:
"""
Если запись не найдена, должна возвращаться страница 404.
"""
Работай как при нормальной отладке:
1. Кратко сформулируй, в чём проявляется проблема.
2. Выдели наиболее вероятную причину.
3. Если возможны несколько причин, расположи их по вероятности.
4. Для каждой существенной гипотезы предложи простую проверку.
5. После определения причины покажи минимальное исправление кода.
6. Объясни, почему это исправление решает проблему.
7. Дополнительные улучшения вынеси в отдельный раздел и не смешивай их с основной ошибкой.
Не переписывай весь код без необходимости. Не придумывай отсутствующие классы, настройки, версии библиотек или содержимое других файлов. Если данных недостаточно, прямо укажи, что именно нужно предоставить.
Как использовать
Вставьте код, опишите ошибку и ожидаемый результат. Нейросеть разберёт вероятные причины и предложит минимальное исправление.
2 Настроить под себя
Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.
3 Результат настройки
Заполните конструктор выше,
и здесь появится готовый промпт.
4 Примеры результата
Текстовый пример
Причина:
`FirstOrDefault` может вернуть `null`, но результат сразу передаётся в представление.
Минимальное исправление:
if (prompt is null)
{
return NotFound();
}
return View(prompt);
Почему это работает:
проверка останавливает выполнение до открытия представления и возвращает HTTP 404, если запись не найдена.
5 Комментарии
0