Свежие комментарии
Title | Comment |
---|---|
Мой пользователь - это разработчик (т.к. я ему даю библиотек |
Мой пользователь - это разработчик (т.к. я ему даю библиотеку). Ему я сообщаю код возврата. И даю функцию, которая из кода возврата сделает строку для показа настоящему пользователю (программы разработчика) |
Впрочем, я что то не понимаю. Вот Вы пользователю что сообщ |
Впрочем, я что то не понимаю. Вот Вы пользователю что сообщаете, как разработчик функции some_class::some_function? Про ошибки. |
Ну так ведь это могут быть разные разработчики. Один, Вася, |
Ну так ведь это могут быть разные разработчики. Один, Вася, пишет "свою реализацию LibRaw_abstract_datastream", другой, Петя, ее использует, передавая в функцию/класс, которую написали Вы. Вы, конечно, можете дистанцироваться от разработчика Васи и пусть Петя разбирается с Васей сам, если Вася бросит массив байт в качестве исключения. Но можно приложить небольшие усилия (если это возможно, конечно) к тому, чтобы все, что Вася бросал, было унаследовано от std::exception. Чтобы любой Петя смог хотя бы показать пользователю e.what(); |
спасибо за справку |
спасибо за справку |
Зачем карать? std::exception ловит моя библиотека. Если юзе |
Зачем карать? std::exception ловит моя библиотека. Если юзерский код кидается чем-то еще, то пусть сам и ловит, вроде так логично? |
Что делать "правильно"? Пусть юзер ловит, да. И карать всех, |
Что делать "правильно"? Пусть юзер ловит, да. И карать всех, кто бросает исключения, не унаследованные от std::exception. У Вас ведь сейчас метод возвращает error_code (0 в случае успеха). Юзер, очевидно, его анализирует и как то реагирует, да? |
Ну у меня там всей обработки - аккуратно_склеить_ласты(); Н |
Ну у меня там всей обработки - аккуратно_склеить_ласты(); Но да, похоже, std::exception данную проблему лечит. |
Я про CMake тут уже узнал достаточно (собирая llvm под винда |
Я про CMake тут уже узнал достаточно (собирая llvm под виндами), чтобы бежать в ужасе.... |
Вопрос в том, что мне делать с внешним миром. Ну вот в данно |
Вопрос в том, что мне делать с внешним миром. Ну вот в данном случае - совершенно какая-то нечеловеческая ошибка... я даже не знаю где. В-общем, Std::filebuf ломается при чтении первых двух байт файла, если этот файл - на SD-ридере. Ну ладно, этот std::filebuf я сам породил, сам, соответственно, обработаю (перехватив std::exception). Но ровно в тот же вызов юзер (девелопер) может передать свою реализацию LibRaw_abstract_datastream со своими исключениями. Тогда пусть сам и ловит, так что ли? Как-то это неровно получается. |
А если исключение содержит вразумительное сообщение об ошибк |
А если исключение содержит вразумительное сообщение об ошибке, то как Вы его будете сообщать пользователю? Ну это так, мои удивления Вашей позиции насчет исключений. Думаю, если Вы решили придерживаться подхода, когда функции не бросают исключения, а сообщают об ошибках (в том числе критичных) посредством возвращения кода, отличного от 0, то тогда будет вполне логичным последовательно придерживаться такого подхода. Т.е. эта вот функция "some_class::some_function" должна ловить все исключения и возвращать соответствующие коды ошибок. В конце концов, клиентов этой функции совершенно не волнует, какие другие функции она решит вызвать. Ну, не должно волновать. Инкапсуляция. |
Кроме того, с помощью нехитрых методов RTTI - ты можешь полу |
Кроме того, с помощью нехитрых методов RTTI - ты можешь получить информацию о конкретном типе исключения (который на самом деле был пораждён), если ты поймал потомка std::exception, т.к. там задействована виртуальная таблица. Я собираюсь об этом упомянуть на семинаре по CppUnit в офисе, если звёзды позволят нам этот dev-day провести... Глядишь, много нового от про CMake узнаем... :-) |
Есть стандарт. Есть Страуступ. Как я описал выше, эта иерарх |
Есть стандарт. Есть Страуступ. |
Вообще, у стандартных исключений, а в твоём случае речь идёт |
Вообще, у стандартных исключений, а в твоём случае речь идёт именно о стандартных исключениях, у всех эти исключений есть вполне чёткая и внятная иерархия, которая не меняется вот уже много-о-ого лет... Слови и обработай (там есть, о чём спросить у класса исключения) все потомки std::exception, например. |
А где, кстати, почитать список исключений, порождаемых std:: |
А где, кстати, почитать список исключений, порождаемых std:: ? |
В любом разе, это мою (чужую) проблему не лечит - она заключ |
В любом разе, это мою (чужую) проблему не лечит - она заключается именно в том, что исключение от std::filebuf никто не ловит. |
Цитирую последний стандарт. <table><tr><td align=left>15.1 T |
Цитирую последний стандарт.
|
Ага, цитата мне понроавилась: <i> за catch( ... ) без rethro |
Ага, цитата мне понроавилась: |
Про <i>все исключения</i> - я у народа спрашивал: <a href="h |
Про все исключения - я у народа спрашивал: Вопрос: Как дела с catch(...) в MS? (и даже в корпоративной почте наставлял Стаса по поводу использования нашей библиотеки, кинул эту ссылку). А вообще, между пользователем библиотеки и самой библиотекой - обычно есть договор, как с исключениями поступать. Если у тебя функция или метод не объявлен с спецификатором throws() - у тебя вообще никакой гарантии при вызове этого дела никогда быть не может. |
Ну я, естественно 1) |
Ну я, естественно Хотя по второму пункту - платеж годовой, там можно и ГД.2011 ставить |
YES!!!! |
YES!!!! |
Отчетности в ПФР за 2011 год не будет | |
Я конечно понимаю что могу |
Я конечно понимаю что могу просто сделать copy-paste с предыдущего квартала в банк клиенте, но блин я же им денег дал.. Кстати, я помню вы говорили что так и делаете, то есть copy-paste в банк-клиенте. Так вот, в платёжках для последних взносов в 2011 году, моёдело поставило "ГД.00.2011", а не "КВ...." P.S. Свою проблему решил ручной коррекцией сумм(хорошо хоть у моёдело есть такая возможность), моёдело так ничего не ответило (правда я им написал, что уже сделал вручную). |
Согласен. В идеале так и происходит. |
Согласен. В идеале так и происходит. |
Бинарный, формат не |
Бинарный, формат не описан. Наверное, можно дедовским методом удалять на источнике счета/транзакции до тех пор, пока.... |
:) ночное |
а бэкап бинарный? |
Благодарность |
Спасибо, хоть один человек толком рассказал, как создать загрузочную флэшку. Всего-то и нужно было - снять чек-марк в одном месте - и всё заработало. Но об этом нюансе все почему-то умалчивали. |
А там по смыслу то же самое, |
А там по смыслу то же самое, связь между проводками между счетами утеряна. А с родным форматом проблема в том, что он не описан, а андроидный варез падает при попытке импорта, а отдать свой собственный бэкап авторам программы для изучения я не готов. |
а кроме qif? родной формат |
а кроме qif? родной формат например, или там вроде был экспорт в csv ( давно не использую кэш органайзер, не помню точно) |
По моему опыту, из штатов EMS (USPS Express) ходит где-то на |
По моему опыту, из штатов EMS (USPS Express) ходит где-то на недельку быстрее если нет запора. Т.е. 1-2 недели вместо 2-3. Если запор есть, то у EMS он запористее |
По последним 10 посылкам (за месяц) могу сделать такой вывод |
По последним 10 посылкам (за месяц) могу сделать такой вывод: |
Pages
