На этом уроке мы создадим механизм отлова ошибок при работе с базой данных и передачи их клиенту.
Дата отправки отчёта:
26 октября 2018 г.
Задание выполнено: за
4 час. 42 мин.
Чему научился:
Создали представление View - Error для информирования о возможных ошибках. Вывод сообщений об ошибках реализован в виде HTML страницы.
Применили структуру(переменную) @ViewBag, поместили его в теги параграфа <p></p>
В storyController создали метод проверки на наличие ошибок и запуска вывода сообщения об ошибке.
В методе обработки запроса пользователя public ActionResult Index() добавили ветку на вывод страницы с информацией об ошибке в случае её возникновения.
В метод обработки ошибок добавили ссылку на представление Error.schtml с указанием полного пути к файлу
Перешли к реализации отлова ошибок.
В классе MySQL создали статические строковые переменные error и query с публичным доступом к чтению и приватным редактирование.
Создали булевый метод возвращающий значение ошибки лишь при её наличии
В классе MySQL добавили трай-кеч для материализации ошибок при их возникновении в методы MySQL и Select.
Перенесли тестовый запрос в классе Story.sc из метода Story в метод random
Запустили тест без вызова в контроллере storyController метода random из класса Story.cs - не взлетели
Добавили вызов - взлетели.
Пошли крушить код: в Селекте обратились к несуществующей таблице - компиляция успешна, вызов Случайная - ошибка с пояснением. (себе добавил дебага - вместо cshtml сначала ввёл schtml расширение файла представления - увидел ошибку обращения к несуществующему файлу. Пояснение было на экране - найти корень проблемы не составило труда).
В ВебКонфиге порушили пароль подключения к БД - снова ошибка на экране.
Поставили брякпойнт в методе random класса storyController и через F11 смотрим с открытием выпадающих меню.
ЗЫ в финале видео услышал пожелание Игромистра к курсантам "нарабатывать свои 10 000 часов, чтобы стать..." 0пачки!
ASP.NET быстрее, чем обычные скриптовые языки, так как весь код изначально компилируется при первом запросе пользователя и затем кешируется в памяти. При повторных обращениях код выполняется из памяти и не требует заново загрузки с сервера. Это сокращает время на парсинг, загрузку и оптимизацию файлов. Применимы следующие ЯП: C#, Visual Basic NET, J# и другие.
Отчёт оценивали: 16218. Дмитрий+19913. vip+16452. Кирилл Шмойлов+12146. Иван+120105. Макс Тимашков+118626. superGrover+13922. Александр+1791. Валерий Жданов+119525. Александр Балбашов+11. Евгений Волосатов+117606. Виктор+1Посетитель+19752. chokayes+13747. Сергей+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Услышал на уроке очень важный момент на счет web.config = Я на него попался. поэтому у меня connectionString не заработал. Трудности: ДЗ что касаемо выполнения в пошаговом варианте. Я до сих пор не понимаю , что надо отслеживать. но запустил и по нажимал f11 ,а вот как выявлять ошибки так и не понимаю в комплексе. ..
Научился: Создал метод IsError() в контроллере storyController, добавил поля query, error и метод IsError() в модель MySQL.
Сделал обработки ошибок в моделях MySQL, и Story
Выполнил пошаговую отладку для трёх случаев.
Протестировал, все работает!