Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Visual Basic: Общие вопросы > Сообщения об ошибках в MsgBox |
Автор: BlackSun 30.05.20, 08:56 |
В каком случае принято показывать тип vbCritical, в каком vbExclamation? Если юзер неверно ввёл вход. данные и операция отменяется, какой тип правильно показывать? |
Автор: Akina 30.05.20, 10:34 |
vbCritical показывается в случае, когда сложившаяся ситуация препятствует дальнейшей работе. vbExclamation - когда дальнейшая нормальная работа возможна после исправления. Например, идёт ввод реквизитов для совершения платежа. Если указанный платёж не может быть совершён по введённой карте - это vbExclamation, а если указанный платёж не может быть совершён по карте вообще - это vbCritical. |
Автор: BlackSun 30.05.20, 11:44 |
т.е. vbCritical - это всё, приплыли! сушите вёсла, сэр?... Дело в том, что лично я воспринимаю воскл. знак как некоторое предупреждение, что я мол сделаю работу (программа), но возможны какие-то проблемы (предупреждение)... А vbCritical визуально воспринимается как крах, и где-то в одной книжке читал, что нормальная работа программы далее невозможна (что автор имел ввиду, так и не понял до конца). В целом, у меня всегда возникал этот вопрос, воскл. знак не уместен в некоторых ситуациях, vbCritical воспринимается как что-то страшное пользователем, чуть ли не нарушение работы компа/программы... Хоть бери и делай свой MsgBox со своими нестандартными(!) картинками. Т.е. до сих пор у меня нет чёткого понимания и восприятия этих знаков предупреждения. vbCritical ещё бывает вылетает с диким визгом в некоторых прогах, стоит ли его ещё озвучивать? ) Добавлено Значит, платёж м.б. совершён другим способом, а это просто исправление, т.е. vbExclamation? |
Автор: BlackSun 30.05.20, 14:16 |
А какие знаки надо показывать, например, при ошибке чтения файла/записи в файл? |
Автор: Akina 30.05.20, 17:24 |
Смотря какая ошибка опять же. Если файл нельзя записать, потому что он уже существует - vbExclamation, а если потому, что в указанном каталоге нет прав на создание файла - чистый vbCritica. |
Автор: B.V. 01.06.20, 05:46 |
Не соглашусь с тобой, Akina. vbCritical, он же MB_ICONSTOP, что, по-моему, красноречиво намекает, всё-таки для тех случаев, когда ошибка не совместима с продолжением исполнения текущей задачи. Проверка доступа это первый шаг, вполне возвратный и не приводящий к полной отмене сохранения. |
Автор: Akina 01.06.20, 07:41 |
Цитата B.V. @ vbCritical, он же MB_ICONSTOP, что, по-моему, красноречиво намекает, всё-таки для тех случаев, когда ошибка не совместима с продолжением исполнения текущей задачи. Проверка доступа это первый шаг, вполне возвратный и не приводящий к полной отмене сохранения. То есть это зависит от среды исполнения? Если можно изменить права доступа или каталог сохранения - то оно по смыслу vbExclamation, а если нет, то vbCritical, так? ну я ж об этом и говорю... Цитата B.V. @ Проверка доступа это первый шаг, вполне возвратный и не приводящий к полной отмене сохранения. А если для такой проверки (и корректировки) надо выгрузить приложение? и после корректировки запустить его заново? вот нет другого пути... В любом случае - выбор основывается на ощущениях. Нет жёсткого правила... |
Автор: B.V. 01.06.20, 16:10 |
Цитата Akina @ Если можно изменить права доступа или каталог сохранения - то оно по смыслу vbExclamation, а если нет, то vbCritical, так? ну я ж об этом и говорю... В целом, так. STOP это уже когда всё, приплыли.. в рамках одной конкретной задачи. По крайней мере, так я всегда видел логику этой иконки Цитата Akina @ А если для такой проверки (и корректировки) надо выгрузить приложение? и после корректировки запустить его заново? вот нет другого пути... Ну если при перезагрузке не будут теряться данные, то это не остановка задачи, а необходимый этап, и тут уже уместней не пугать юзера vbCritical-ом, а умеренно-напрячь vbExclamation-ом |
Автор: BlackSun 04.06.20, 21:04 |
Так тут же зависит от юзера, сможет ли он изменить права доступа или нет. Программа же не может знать, кто ею пользуется. Т.е. для кого-то это vbCritical, а для кого-то нет? Вообще, если прога пишет данные в каталог(и его подкаталоги) где сама находится, могут возникнуть какие-то проблемы с правами? Вы действительно разбираете ошибку по кодам, чтобы только показать более подходящую иконку? Я пишу "Ошибка записи в файл" и добавляю в сообщение Err.Description. Поэтому мне нужен более общий показ иконки. |
Автор: B.V. 05.06.20, 01:20 |
Цитата BlackSun @ Вообще, если прога пишет данные в каталог(и его подкаталоги) где сама находится, могут возникнуть какие-то проблемы с правами? Могут. Цитата BlackSun @ Вы действительно разбираете ошибку по кодам, чтобы только показать более подходящую иконку? Детализация ошибок вообще хороший тон, и разработчику проще и юзеру понятнее |
Автор: BlackSun 04.07.20, 20:12 |
При удалении записи лучше пугать vbExclamation или таки vbQuestion ("Желаете удалить запись?")? |