Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52888

PetroNotC Sharp
Выше ссылка как пишут с try в других ЯП.

Ссылку на доку Qt - вижу.
Ссылку на то почему в C++ не нужно finally - вижу.
Не вижу ссылки на то "как пишут с try в других ЯП".

Posted via ActualForum NNTP Server 1.5

3 фев 21, 14:33    [22273887]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
petrav
Member

Откуда:
Сообщений: 2850
Dimitry Sibiryakov

PS: Повторяю медленно: в библиотеке Qt исключения не приветствуются по вполне определённой причине - возможности динамической сборки. В языке программирования С++ с исключениями проблем нет.

Скорее Qt не работает с исключениями по историческим причинам. Когда они начинали разрабатывать Qt исключений в языке не было. Так и пошло... Или по идеологическим причинам, например, считают, что исключения делают разработку сложной, а программы ненадёжными.
3 фев 21, 14:46    [22273910]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52888

petrav
Когда они начинали разрабатывать Qt исключений в языке не было. Так и пошло... Или по
идеологическим причинам, например, считают, что исключения делают разработку сложной, а
программы ненадёжными.

Или просто не смогли решить главную (и единственную) проблему исключений (не зависящую от
ЯП) - совпадение системы исключений, RTTI и RTL на всём call stack от места, где оно
выкидывается, до места, где оно ловится.

Posted via ActualForum NNTP Server 1.5

3 фев 21, 14:51    [22273920]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Dimitry Sibiryakov,
21896099
try и финализация работают совместно и Удобно.
3 фев 21, 15:08    [22273956]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
petrav
Member

Откуда:
Сообщений: 2850
Dimitry Sibiryakov

petrav
Когда они начинали разрабатывать Qt исключений в языке не было. Так и пошло... Или по
идеологическим причинам, например, считают, что исключения делают разработку сложной, а
программы ненадёжными.

Или просто не смогли решить главную (и единственную) проблему исключений (не зависящую от
ЯП) - совпадение системы исключений, RTTI и RTL на всём call stack от места, где оно
выкидывается, до места, где оно ловится.

Вопрос совместимости. Если Qt собрано на VS 2017, а приложение на VS 2019, то будут ли проблемы?
Я уверен (почти) что нет. Проблем особых я не вижу. Точнее проблема только одна: Qt перестаёт
развиваться и мы просто не можем его пересобрать под новый компилятор.
3 фев 21, 15:08    [22273957]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
petrav,
Либы не нужно собирать в операционке. Ставить бинарниками.
3 фев 21, 15:10    [22273960]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52888

PetroNotC Sharp
try и финализация работают совместно и Удобно.

Ровно до момента, когда финализируемых объектов становится больше одного. RAII всё же
удобнее, как и прочие умные указатели.

petrav
Я уверен (почти) что нет.

В тобой процитированном точно названы три условия. Ты не в состоянии проследить их
выполнение? Тогда считай, что оно работать не будет, ибо в противном случае ты получишь
зависимость поведения своей программы от погоды на Марсе.

Posted via ActualForum NNTP Server 1.5

3 фев 21, 15:25    [22273992]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
mayton
Member

Откуда: loopback
Сообщений: 50968
PetroNotC Sharp
bool
Book::Save(inst::Abstract *top, const QString &full_path, QString *err)
{
	QSaveFile out(full_path);
	out.open(QIODevice::WriteOnly | QIODevice::Truncate);
....


Тут по логике надо проверить что open успешен. Вроде он тоже bool возвращает. Fail-fast.

Сообщение было отредактировано: 3 фев 21, 15:25
3 фев 21, 15:32    [22274009]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Dimitry Sibiryakov,
>Ровно до момента, когда финализируемых объектов становится больше одного. RAII всё же
удобнее, как и прочие умные указатели.
==возможно. Только умные указатели для технической сборки мусора это одно (проще).
А для логики программного кода.... Ветвления.... Другое.
Я предпочитаю руками это творить (с)
))))
3 фев 21, 15:45    [22274033]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52888

PetroNotC Sharp
Я предпочитаю руками это творить (с)

Значит твой путь - возвращение текста ошибок через параметр руками. Вот и ответ на вопрос
топика.

Posted via ActualForum NNTP Server 1.5

3 фев 21, 15:53    [22274049]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Dimitry Sibiryakov

PetroNotC Sharp
Я предпочитаю руками это творить (с)

Значит твой путь - возвращение текста ошибок через параметр руками. Вот и ответ на вопрос
топика.

Неа. Мы видели "жизнь других". Попробую класс Qt и класс std. Отпишусь.
3 фев 21, 17:07    [22274145]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
bk0010
Member

Откуда:
Сообщений: 5053
mayton
Тут по логике надо проверить что open успешен. Вроде он тоже bool возвращает. Fail-fast.
В Qt надо проверять результаты всего, что можно проверить. После Delphi, с ее VCL, которая построена на exception-ах, мне было дико видеть, как после явной ошибки программа продолжает работать, вместо того, чтобы остановиться. Со временем привык постоянно проверять результаты, но сразу после перехода было очень тяжко.
3 фев 21, 22:08    [22274376]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Подскажите как работать с исключениями в студии.
Нужен в отладке вывод номера строки кода где оно происходит или остановка ide на этой строке.
Если исключение обернуто try то ide не останавливается.
Если смотреть output то там нет номера строки.
Может как добавить в e.what() но не понял как сделать.
Студия 2015 может что с этим сделать?
7 апр 21, 15:11    [22305452]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Хочется к в дельфи или вебсервере.
В дельфи открывается редактор на строке с райзе.
В веб серверах есть лог с подробнейшей инфой.
7 апр 21, 15:22    [22305460]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Вот что выяснил.
Если исключение я генерю сам, то появляется окно
Картинка с другого сайта.
и редактор показывает строку с исключением.
Если исключение в
string.replace( index - 1
То окно уже не студии а C++ runtime library
Исключение внутри dll и
программа завершается. Отладка не работает.
Почему?
7 апр 21, 16:39    [22305528]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Отчасти решено))
Надо вкл галку
Options - Enable Just My Code
))
Тогда студия не уходит в недра своего кода глубоко.
7 апр 21, 16:58    [22305546]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34684
PetroNotC Sharp
Qt может работать с исключениями, но
- читал мнение самих разрабов что это не в приоритете.
- они не выходят сами на уровень Application. Без перехвата руками на самом верху.
- через либу *.so не переходят.
Если не перехватить то молча все проглотится.
В общем коряво.
Если в плюсах std::runtime_error многие применяют, то могу попробовать.


чё за бред то?
7 апр 21, 23:15    [22305730]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
petrav
Member

Откуда:
Сообщений: 2850
MasterZiv
PetroNotC Sharp
Qt может работать с исключениями, но
- читал мнение самих разрабов что это не в приоритете.
- они не выходят сами на уровень Application. Без перехвата руками на самом верху.
- через либу *.so не переходят.
Если не перехватить то молча все проглотится.
В общем коряво.
Если в плюсах std::runtime_error многие применяют, то могу попробовать.


чё за бред то?

Это PetroNotC Sharp.
7 апр 21, 23:21    [22305734]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34684
Dimitry Sibiryakov

PS: Повторяю медленно: в библиотеке Qt исключения не приветствуются по вполне определённой причине - возможности динамической сборки. В языке программирования С++ с исключениями проблем нет.


В самом Qt нет исключений, причём ясно, по какой причине: библиотека возникла, когда исключений в С++ ещё не было.
И в дальнейшем отказ от исключений в самом Qt тоже решили сохранить -- так фреймворк может использоваться в любых
приложениях, с включёнными исключениями и с выключенными.

Но использовать исключения в приложениях на Qt никто никогда не запрещал, используйте на здоровье!
7 апр 21, 23:23    [22305736]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34684
PetroNotC Sharp
Вот что выяснил.
Если исключение я генерю сам, то появляется окно
...
программа завершается. Отладка не работает.
Почему?


Так ловить надо исключения, если их используешь...
7 апр 21, 23:26    [22305740]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
MasterZiv
PetroNotC Sharp
Вот что выяснил.
Если исключение я генерю сам, то появляется окно
...
программа завершается. Отладка не работает.
Почему?


Так ловить надо исключения, если их используешь...
дак не ловятся сударь
std:string.begin() выход за диапазон
}
catch(три точки)
А когда поймал надо вывод номера строки кода. Ну или стек по желанию.

Сообщение было отредактировано: 8 апр 21, 07:46
8 апр 21, 07:45    [22305777]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
MasterZiv
Dimitry Sibiryakov

PS: Повторяю медленно: в библиотеке Qt исключения не приветствуются по вполне определённой причине - возможности динамической сборки. В языке программирования С++ с исключениями проблем нет.


В самом Qt нет исключений, причём ясно, по какой причине: библиотека возникла, когда исключений в С++ ещё не было.
И в дальнейшем отказ от исключений в самом Qt тоже решили сохранить -- так фреймворк может использоваться в любых
приложениях, с включёнными исключениями и с выключенными.

Но использовать исключения в приложениях на Qt никто никогда не запрещал, используйте на здоровье!

Их не запрещают. На них просто забили))) Поддержка в одном классе на задворках.
Весь топик об этом говорили.
Нельзя сделать и так и эдак да еще с удобствами“
8 апр 21, 07:59    [22305779]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Я не спец.
Возможно оператор noexcept повлиял в моем случае.
Чего только не придумают)))
https://coderoad.ru/33210169/Как-использовать-noexcept-в-C-или-как-это-работает
8 апр 21, 09:09    [22305796]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
автор
Именно из-за такого разбухания кода, в некоторых крупных корпорациях (не будем тыкать пальцем в Google) при разработке на С++ запрещено использование исключений.
))))
Смешно.
8 апр 21, 09:14    [22305799]     Ответить | Цитировать Сообщить модератору
 Re: Вывод ошибок не параметром метода какие есть варианты?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7558
Подскажите галочку в студии.
Я запускаю F5 во время написания кода. Консольное.
Если есть ошибка, то все равно запускается "прошлая" версия.
Приходится сначала F6 и потом F5.
Надоедает.
Как тут автоматом? Как в дельфи))
8 апр 21, 15:20    [22306017]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / C++ Ответить