Большинство языков программирования возвращают лишь код последней ошибки ввода-вывода или же имеют блок try/catch, прерывающийся по первой же ошибке. Поэтому в catch стоит обработчик ошибок, который просто выводит ошибку по её коду. Если в блоке try открывается десяток файлов, то ошибка открытия одного из них ничем не будет отличаться от ошибки открытия другого. И чтобы точно определить название файла, нужно или плодить try/catch на каждое открытие, или заводить специальную переменную, в которой бы хранилось имя последнего файла, или сделать свою функцию открытия, которая будет отличаться подробной обработкой ошибок.
Но лень не побороть. Поэтому вот вам, дорогие пользователи, один try/catch на всю инициализацию и сообщение об ошибке, если какая-то ошибка произошла. А что — в 99,9% случаев всё и так отлично работает.
#11500: Дипломированный специалист по сущей ерунде
12:45 11.10.2013, IT happens
Вас удивляет преподаватель, не разбирающийся в предмете? Вот вам моя история.
C и C++ я увлёкся в армии. Ну, сначала в руки попала каким-то чудом оказавшаяся книжка по программированию, потом были добыты Керниган и Ричи, Бьёрн Страуструп… Да, компьютера не было. Тетрадка, ручка, нудные часы на ночных дежурствах, когда и спать нельзя, и делать особо нечего. Помнится, особенности работы с указателями на переменные изучал в карауле при гауптвахте.
Оторвался уже на «гражданке» — приобрёл компьютер, наконец-то опробовал теорию на практике. А в рекрутинговом агентстве, между тем, предлагали вакансии преподавателя по IT-специальностям. Как ни смешно, но мог бы пойти, просто преподавать было неинтересно. А кто-то ведь и пошёл…
Уже значительно позже имел дело с подобным учебным центром (писал им программу на заказ) — понабрали «преподавателей», по-модному названных тренерами, вручили им распечатанные методички, в которых были расписаны курсы по продуктам мелкомягкой компании. Шаг влево, шаг вправо — пустота. Упоминание альтернативных коммерческих продуктов исключительно в негативном контексте, а СПО — вообще сплошная дыра и мусор. Квалификация на нуле. Достаточно сказать, что IP-адреса в локальной сети вообще назначили от фонаря, из-за чего некоторые сайты не открывались (ещё бы — если адрес соответствует местному принтеру). Зато учебный центр — сертифицированный партнёр MS, выпускающий сертифицированных специалистов за очень неплохие деньги с носа. Ну, а чё такого? Курсы-то авторизованные, настоящие. Одни их читают, другие их слушают; первые получают деньги, вторые — бумажки с печатями. Просто специалисты узкоспециализированные, в пределах одной версии одной программы.
#11501: Зерно истины
12:15 12.10.2013, IT happens
Сижу на работе, никого не трогаю, Type 59 по южному берегу гоняю. Стук в дверь. Заходит водитель сына президента компании и робко интересуется, не может ли кто посмотреть принтер. В ходе расспросов выясняется, что принтер (домашний струйник Canon) не протягивает бумагу при печати. Как обычно, «срочно надо».
Проверяю — действительно. Лезу на сайт Canon. По коду ошибки — замятие. Обрывков бумаги не видно. Пробую пропихнуть лист картона — проходит, но с трудом, на листе характерная царапина. Смотрю внимательнее, подсвечивая телефоном. Планка с мелкими роликами в одном месте чуть искривлена, и из-под неё торчит что-то похожее на кусочек чёрной пластмассы. Вытянуть не получается, пропихиваю назад и извлекаю на свет божий его — отборное подсолнечное семечко.
#11502: Дай четыре!
12:15 12.10.2013, IT happens
Работаю админом в компании с довольно большим штатом сотрудников. Уровень компьютерной грамотности — от уверенного пользователя до тех, кому лучше лепить пельмени. Очень часто внятное описание возникшей неполадки — это уже хорошо. Поэтому чаще всего при ответе на обращения сразу машинально задаю уточняющие вопросы, чтобы понять, чего пользователь в действительности хочет. Очередной диалог в корпоративном месседжере:
— Доброе утро! Сделайте мне палец, пожалуйста.
— Доброе утро. А что у вас с ним?
— У меня его нет.
После этого я на пару секунд завис, перечитал первое сообщение. Перед глазами возникла кровавая картина с шредером, отрывающим конечности. И только потом я вспомнил, что сотрудника нужно прописать в штатной СКД, работающей через отпечатки пальцев…
#11503: Всего лишь мойщик окон
12:15 12.10.2013, IT happens
А теперь давайте посмотрим, как выглядят чудачества мастеров по вызову со стороны клиентов. Вызвала недавно одного почистить ноутбук. Так он поставил перед собой автомобильный видеорегистратор, подключённый к аккумулятору от бесперебойника. Пока чистил, проговаривал вслух каждое действие. А когда после чистки запустил ноутбук, прокомментировал происходящее перед камерой:
— Эта ОС здесь, как видим, уже стояла, я её не устанавливал.
Бояться контрольных заказов, конечно, надо, но не до такой же степени!
#11504: О пользе диетического кода