powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вывод ошибок не параметром метода какие есть варианты?
59 сообщений из 59, показаны все 3 страниц
Вывод ошибок не параметром метода какие есть варианты?
    #40041000
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
bool
Book::Save(inst::Abstract *top, const QString &full_path, QString *err)
{
	QSaveFile out(full_path);
	out.open(QIODevice::WriteOnly | QIODevice::Truncate);
	
	QXmlStreamWriter xml(&out);
	WriteStartDocument(xml);
	top->Write(xml);
	xml.writeEndDocument();
	const bool ok = out.commit();
	
	if (!ok && err != nullptr)
		*err = QString("Failed to save as ") + full_path;
	
	return ok;
}


https://github.com/f35f22fan/Ods2/blob/master/ods/Book.cpp
Вывод ошибок не параметром метода какие есть варианты?
Я понимаю что try в плюсах не приветствуется. А так был бы вариант
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041005
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpЯ понимаю что try в плюсах не приветствуется.

Кем не приветствуется? Не знаю как у Qt, а выкинуть std::runtime_error в данном случае
вполне нормальная идея.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041007
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Вывод ошибок не параметром метода какие есть варианты?

Русский язык. 9 класс. Учебник

PetroNotC Sharp
Я понимаю что try в плюсах не приветствуется.

LOL. Язык программирования С++. Бьерн Страуструп

PetroNotC Sharp
А так был бы вариант

Тут я привёл целых два и не варианта, а два обязательных направления.

PS: Я удивлён, что тебя поняли, потому что без коммента от Сибирякова я вообще не уразумел о чём ты пишешь.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041008
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я понимаю что try в плюсах не приветствуется. А так был бы вариант
С чего это вдруг "не приветствуются"?

Qt может не кидать исключений - это да. И если следовать этой традиции (именно традиции "Qt без исключений"), то параметр QString *err это вполне нормально и кошерно.

А если собрать Qt с исключениями, то будешь себе try-catch писать вполне стандартно, традиционно и по учебнику. Там конечно свои потенциальные проблемы вылезут, которые легко решаются дисциплиной программиста, но... Поэтому чаще всего Qt и живет без исключений.

А варианты правильной работы и потенциальные проблемы читать тут: https://doc.qt.io/qt-5/exceptionsafety.html
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041022
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlQt может не кидать исключений - это да.

Поскольку он может собираться как динамическая библиотека - лучше ему этого не делать.
Иначе всё становится очень сложно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041036
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Не удивительно что не понял. Ты не работал с другими ЯП и вопросами по архитектуре.
Задай, уточняй, это форум.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041038
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qt может работать с исключениями, но
- читал мнение самих разрабов что это не в приоритете.
- они не выходят сами на уровень Application. Без перехвата руками на самом верху.
- через либу *.so не переходят.
Если не перехватить то молча все проглотится.
В общем коряво.
Если в плюсах std::runtime_error многие применяют, то могу попробовать.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041039
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте сначала обзор вариантов.
На вскидку придумал 3:
1. Глобальная переменная error
2. LastError WinApi
3. Логгер
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041040
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
На вскидку придумал 3:

Всё плохо. Возвращай { ret, err } как в гошечке.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041041
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
>Кем не приветствуется?
==
авторВ с++ файналли не нужны, тут RAII есть.
21896029
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041042
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Гошечку не знаю.
В яве, дельфи, шарпе проблем нет.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041043
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПри использовании QtConcurrent и исключений из стандартной библиотеки, текст исключения теряется, остаётся только информация о типе исключений. Например результатом такого кода:
http://nomatter.ru/ru/qtconcurrent_and_exceptions
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041059
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В яве, дельфи, шарпе проблем нет.

Я уже вижу как минимум одну проблему - многопоток, который будет затирать твой глобальный error.
Логер - я хз, как ты будешь вылавливать из него исключения, а винапи - это вообще пошлятина, да и по сути тоже, что и глобальный error.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041064
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Да.
Про потоки, то тут одинаковые подходы с другими ЯП. Перехват внутри потока.
Хотя, в шарпе с async await ловится снаружи
try
{
listTree = await obj.getAsync(....
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041073
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
>Логер - я хз, как ты будешь вылавливать из него исключения,
== метод логгера это вместо
stringErrOut = sssssss
Писать
log.add(“xml атрибут аааааа не заполнен
..
То есть исключений не будет вообще.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041074
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Цель двоякая при парсинге xml
- остановить если критическая ошибка типа версия не та
- пройти весь файл документ и вывалить юзверю ошибки шаблона документа Договор или Накладная или...
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041080
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Dimitry Sibiryakov,
>Кем не приветствуется?
==
авторВ с++ файналли не нужны, тут RAII есть.

21896029 Отсутствие finally еще не означает, что "исключения не приветствуются".
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041084
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Там по ссылке ниже код приведен. Что одно от другого зависит.
Формально слова разные. А логика кода вывернута шиворот навыворот. Разные концепции.
Мне жаль.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041098
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топик будет не полным пока мы не обсудим costs на обработку exception.

В сравнении с возвратом boolean.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041103
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Угу. Сишникам только дай про скорость поговорить))))
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041105
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Boolean нужен только при первом случае выше. А случаев два штуки.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041107
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если язык и библиотеки рекомендуют использовать исключения (Java/C#) для обработки
непредвиденных ошибок - то надо использовать. Более того. Во многих языках с управляемой
кучей процесс обработки ошибки тестно завязан на корректное освободждение ресурсов.

Насчет С++ - сложно сказать является ли это общеупотребимой практикой. Это интересный вопрос.

И почему например при создании GoLang полностью отказались от механизма исключений. И на что заменили.
Тоже вопрос достойный обсуждения.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041109
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Насчет С++ - сложно сказать является ли это общеупотребимой практикой. Это интересный вопрос.

В С++ как обычно бардак, раздрай и подводные камни. Примерно как со строками.

Программируя на Qt, конечно, можно использовать исключения. И в случае DLL тоже, но нужно уметь обходить подводные рифы.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041149
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpВ яве, дельфи, шарпе проблем нет.

Всё перечисленное - языки программирования. Qt - фреймворк (библиотека). Почувствуй разницу.


PS: Повторяю медленно: в библиотеке Qt исключения не приветствуются по вполне определённой причине - возможности динамической сборки. В языке программирования С++ с исключениями проблем нет.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041159
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Теорию я понял. Теперь по коду и практике. Выше ссылка как пишут с try в других ЯП.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041165
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpВыше ссылка как пишут с try в других ЯП.

Ссылку на доку Qt - вижу.
Ссылку на то почему в C++ не нужно finally - вижу.
Не вижу ссылки на то "как пишут с try в других ЯП".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041176
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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

Скорее Qt не работает с исключениями по историческим причинам. Когда они начинали разрабатывать Qt исключений в языке не было. Так и пошло... Или по идеологическим причинам, например, считают, что исключения делают разработку сложной, а программы ненадёжными.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041180
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravКогда они начинали разрабатывать Qt исключений в языке не было. Так и пошло... Или по
идеологическим причинам, например, считают, что исключения делают разработку сложной, а
программы ненадёжными.

Или просто не смогли решить главную (и единственную) проблему исключений (не зависящую от
ЯП) - совпадение системы исключений, RTTI и RTL на всём call stack от места, где оно
выкидывается, до места, где оно ловится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041196
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
21896099
try и финализация работают совместно и Удобно.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041198
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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

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

Вопрос совместимости. Если Qt собрано на VS 2017, а приложение на VS 2019, то будут ли проблемы?
Я уверен (почти) что нет. Проблем особых я не вижу. Точнее проблема только одна: Qt перестаёт
развиваться и мы просто не можем его пересобрать под новый компилятор.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041201
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Либы не нужно собирать в операционке. Ставить бинарниками.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041217
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharptry и финализация работают совместно и Удобно.

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

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

В тобой процитированном точно названы три условия. Ты не в состоянии проследить их
выполнение? Тогда считай, что оно работать не будет, ибо в противном случае ты получишь
зависимость поведения своей программы от погоды на Марсе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041224
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Код: plaintext
1.
2.
3.
4.
5.
6.
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.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041236
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
>Ровно до момента, когда финализируемых объектов становится больше одного. RAII всё же
удобнее, как и прочие умные указатели.
==возможно. Только умные указатели для технической сборки мусора это одно (проще).
А для логики программного кода.... Ветвления.... Другое.
Я предпочитаю руками это творить (с)
))))
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041243
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpЯ предпочитаю руками это творить (с)

Значит твой путь - возвращение текста ошибок через параметр руками. Вот и ответ на вопрос
топика.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041278
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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

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

Неа. Мы видели "жизнь других". Попробую класс Qt и класс std. Отпишусь.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40041376
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тут по логике надо проверить что open успешен. Вроде он тоже bool возвращает. Fail-fast.
В Qt надо проверять результаты всего, что можно проверить. После Delphi, с ее VCL, которая построена на exception-ах, мне было дико видеть, как после явной ошибки программа продолжает работать, вместо того, чтобы остановиться. Со временем привык постоянно проверять результаты, но сразу после перехода было очень тяжко.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060389
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как работать с исключениями в студии.
Нужен в отладке вывод номера строки кода где оно происходит или остановка ide на этой строке.
Если исключение обернуто try то ide не останавливается.
Если смотреть output то там нет номера строки.
Может как добавить в e.what() но не понял как сделать.
Студия 2015 может что с этим сделать?
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060394
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочется к в дельфи или вебсервере.
В дельфи открывается редактор на строке с райзе.
В веб серверах есть лог с подробнейшей инфой.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060440
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что выяснил.
Если исключение я генерю сам, то появляется окно

и редактор показывает строку с исключением.
Если исключение в
string.replace( index - 1
То окно уже не студии а C++ runtime library
Исключение внутри dll и
программа завершается. Отладка не работает.
Почему?
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060452
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчасти решено))
Надо вкл галку
Options - Enable Just My Code
))
Тогда студия не уходит в недра своего кода глубоко.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060542
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Qt может работать с исключениями, но
- читал мнение самих разрабов что это не в приоритете.
- они не выходят сами на уровень Application. Без перехвата руками на самом верху.
- через либу *.so не переходят.
Если не перехватить то молча все проглотится.
В общем коряво.
Если в плюсах std::runtime_error многие применяют, то могу попробовать.


чё за бред то?
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060545
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
PetroNotC Sharp
Qt может работать с исключениями, но
- читал мнение самих разрабов что это не в приоритете.
- они не выходят сами на уровень Application. Без перехвата руками на самом верху.
- через либу *.so не переходят.
Если не перехватить то молча все проглотится.
В общем коряво.
Если в плюсах std::runtime_error многие применяют, то могу попробовать.


чё за бред то?

Это PetroNotC Sharp .
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060547
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

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


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

Но использовать исключения в приложениях на Qt никто никогда не запрещал, используйте на здоровье!
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060550
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Вот что выяснил.
Если исключение я генерю сам, то появляется окно
...
программа завершается. Отладка не работает.
Почему?


Так ловить надо исключения , если их используешь...
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060579
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
PetroNotC Sharp
Вот что выяснил.
Если исключение я генерю сам, то появляется окно
...
программа завершается. Отладка не работает.
Почему?


Так ловить надо исключения , если их используешь...
дак не ловятся сударь
std:string.begin() выход за диапазон
}
catch(три точки)
А когда поймал надо вывод номера строки кода. Ну или стек по желанию.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060581
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Dimitry Sibiryakov

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


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

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

Их не запрещают. На них просто забили))) Поддержка в одном классе на задворках.
Весь топик об этом говорили.
Нельзя сделать и так и эдак да еще с удобствами“
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060591
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не спец.
Возможно оператор noexcept повлиял в моем случае.
Чего только не придумают)))
https://coderoad.ru/33210169/Как-использовать-noexcept-в-C-или-как-это-работает
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060594
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИменно из-за такого разбухания кода, в некоторых крупных корпорациях (не будем тыкать пальцем в Google) при разработке на С++ запрещено использование исключений.))))
Смешно.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060739
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите галочку в студии.
Я запускаю F5 во время написания кода. Консольное.
Если есть ошибка, то все равно запускается "прошлая" версия.
Приходится сначала F6 и потом F5.
Надоедает.
Как тут автоматом? Как в дельфи))
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060750
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Ну вот этот то вопрос выше тебе понятен?)))
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060757
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
Хотелось как в шарпе
ex.Message
ex.Data[метка
ex.innerException
ex.ToString
ex.распечатайСтек
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060790
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Dimitry Sibiryakov,
>Кем не приветствуется?
==
авторВ с++ файналли не нужны, тут RAII есть.

21896029
У вас, товарищ, кашка в головушке. Где это я писал, "что исключения не приветствуются"?
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060798
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Подскажите галочку в студии.
Я запускаю F5 во время написания кода. Консольное.
Если есть ошибка, то все равно запускается "прошлая" версия.
Приходится сначала F6 и потом F5.
Надоедает.
Как тут автоматом? Как в дельфи))

Вот чума.
Потому что ты, получив сообщение об ошибках сборки и предложении запустить последнюю успешную, не только нажал "Да", но и установил флажок "больше не показывать".

F10->Tools -> Options -> Project and Solutions -> Build and Run
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060801
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
PetroNotC Sharp
Подскажите галочку в студии.
Я запускаю F5 во время написания кода. Консольное.
Если есть ошибка, то все равно запускается "прошлая" версия.
Приходится сначала F6 и потом F5.
Надоедает.
Как тут автоматом? Как в дельфи))

Вот чума.
Потому что ты, получив сообщение об ошибках сборки и предложении запустить последнюю успешную, не только нажал "Да", но и установил флажок "больше не показывать".

F10->Tools -> Options -> Project and Solutions -> Build and Run

спс
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060803
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
bool
Book::Save(inst::Abstract *top, const QString &full_path, QString *err)
{
	QSaveFile out(full_path);
	out.open(QIODevice::WriteOnly | QIODevice::Truncate);
	
	QXmlStreamWriter xml(&out);
	WriteStartDocument(xml);
	top->Write(xml);
	xml.writeEndDocument();
	const bool ok = out.commit();
	
	if (!ok && err != nullptr)
		*err = QString("Failed to save as ") + full_path;
	
	return ok;
}



https://github.com/f35f22fan/Ods2/blob/master/ods/Book.cpp
Вывод ошибок не параметром метода какие есть варианты?
Я понимаю что try в плюсах не приветствуется. А так был бы вариант

Зависит от того, куда эти ошибки после.
Мне лично нравится именно такой вариант, как в твоем коде.
Про исключения тут уже говорили, тоже использую.
Ещё - в одном моем проекте есть централизованный "диспетчер ошибок". Представляет собой сервер (в отдельной нити), просто слушающий сокет. То есть, сервер, просто принимающий сообщения и отправляющий их куда и кому надо (в лог, в графическую подсистему, по tcp кому-то), фактически актор. "Сообщения" - это сообщения zeromq, летающие через zmq - сокеты с использованием iproc - протокола (т.е., не tcp/не в сети).
Протокол inproc - зверски быстрый, не использует сеть, позволяет общаться между нитями внутри процесса.
То есть, получается примерно тот же throw, но с перехватом в одном месте.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060806
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ

Протокол inproc - зверски быстрый, не использует сеть, позволяет общаться между нитями внутри процесса.
То есть, получается примерно тот же throw, но с перехватом в одном месте.

Тут скорее всего речь идет не о перехвате. А о журналировании событий.

В точке где возникло исключение вы уже ничего не перехватили и принять решение никакое там уже
не сможете.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060811
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,
В линукс админы давно разделили.
Приложение пишет в лог.
А потом отдельные совершенно админские штучки читают эти логи, пакуют, агрегируют, анализируют и отправляют куда надо.
Разделение труда.
...
Рейтинг: 0 / 0
Вывод ошибок не параметром метода какие есть варианты?
    #40060812
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
ъъъъъ

Протокол inproc - зверски быстрый, не использует сеть, позволяет общаться между нитями внутри процесса.
То есть, получается примерно тот же throw, но с перехватом в одном месте.

Тут скорее всего речь идет не о перехвате. А о журналировании событий.

В точке где возникло исключение вы уже ничего не перехватили и принять решение никакое там уже
не сможете.

Ну, диспетчер сообщений может и решение принять. Правда, на "глобальном" уровне.
Я и написал - способ обработки зависит от того, что с самим фактом ошибки нужно делать.
...
Рейтинг: 0 / 0
59 сообщений из 59, показаны все 3 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вывод ошибок не параметром метода какие есть варианты?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]