Как бросить своё исключение?

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Аватара пользователя
Оксалайя
Сообщения: 27
Зарегистрирован: 01 сен 2015, 12:12

Сионист писал(а):Теория и практика c++.

Ок. Читаем аннотацию
Книга Герберта Шилдта, одного из самых известных авторов компьютерной литературы, посвящена обсуждению сложных вопросов программирования. В ней подробно рассмотрены параметризованные функции и классы, а также такие задачи програм-мирования, как реализация разреженных массивов, построение программ разбора математических выражений, алгоритмы шифрования и сжатия данных, а также проб-лемы разработки собственных языков программирования и написания интеграторов для них. Приводятся ценные практические советы по приемам и методам работы, а также тексты готовых работающих программ.
Сложных, знаете ли, вопросов, а не вопросов, не достойных даже студента-первокурсника. Вы, наверное, и считать в детстве учились сразу по Фихтенгольцу и возмущались, что сложение и вычитание там "туманно" описаны. Это книжка для взрослых дядей и тёть, который уже имеют некоторые навыки программирования на С++ и УЖЕ знают, как бросать исключения. Не льстите себе, почитайте что-нибудь попроще, например "Базовый курс С++" Вашего любимого Шилдта.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Сионист писал(а):string и wstring тоже описаны вместе. Но это не значит, что нельзя написать свой string отдельно от wstring. Другое дело, что писать придётся много, самостоятельно реализовывать все операции над строками и долго отлаживать. Но свой string написать можно. И я его даже писал. Но одно дело все операции над строками даже одного типа, а совсем другое одно исключение. И я не инклажу windows.h ради одной функции. Я инклажу windows.h ради и WinMain, и функций GDI, и типов параметров функций GDI.
Блин, вот всё-таки с логикой нелады. Невозможно спорить, так как логические переходы не индуктивны. Как всё, что ты написал опровергает то, что написал я? Я что, предлагал свой string реализовывать?

И, кстати, по поводу string и wstring - это вообще полный фейл. На самом деле они не описаны вместе. Это вообще не два разных класса. Физически это один и тот же класс, а два указанных типа - это typedef'ы с разными темплейтными параметрами.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Оксалайя писал(а): Сложных, знаете ли, вопросов, а не вопросов, не достойных даже студента-первокурсника. Вы, наверное, и считать в детстве учились сразу по Фихтенгольцу и возмущались, что сложение и вычитание там "туманно" описаны. Это книжка для взрослых дядей и тёть, который уже имеют некоторые навыки программирования на С++ и УЖЕ знают, как бросать исключения. Не льстите себе, почитайте что-нибудь попроще, например "Базовый курс С++" Вашего любимого Шилдта.
В точку.

Сионист, нужно было начинать с основ, а не тратить восемь месяцев (о Боже, держите меня семеро от этой цифры) на книжку, к которой ты просто ещё не был готов.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Romeo писал(а):Странная логика. Ты восемь месяцев как контрагрумент используешь? Я как раз наоборот говорю, что не стоило терять столько времени, можно было просто прочесть статейку и всё понять по исключениям.
Я месяцев восемь угробил на гугление и чтение по теме, прежде чем её здесь создать. Толку нет.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Оксалайя писал(а):Не льстите себе, почитайте что-нибудь попроще, например "Базовый курс С++" Вашего любимого Шилдта.
Что есть, то и читал. А за название спасибо.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

То есть это я просто везунчик, что догадался написать в поисковике "Исключения С++" и по первой же ссылке нашёл не самую лучшую и глубокую, но всё же достаточно понятную статейку? Одним запросом сэкономил восемь месяцев своей жизни, так выходит? Не верю, что бывает такое!

А книгу ты читал не по теме как раз. Аннотация это явно показывает. Начинать нужно с основ. Сразу лезть в дебри и надеяться, что основы как-нибудь сами собой осознаются - это крайне самонадеянно. Я вообще-то не люблю Шилдта, но если уж этот автор тебе приглянулся, то у него есть книжка "С++ для начинающих", который хоть как-то может претендовать на звание справочника по языку. Там исключения освещены достаточно подробно в разделе "Обработка исключительных ситуаций".
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Romeo писал(а):ТТо есть это я просто везунчик, что догадался написать в поисковике "Исключения С++" и по первой же ссылке нашёл не самую лучшую и глубокую, но всё же достаточно понятную статейку? Одним запросом сэкономил восемь месяцев своей жизни, так выходит? Не верю, что бывает такое!
Я вводил и границы массива c++, и исключения c++, и исключения выхода за границы, и много чего ещё.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Стоп. Речь шла вообще об исключениях. Ты сказал, что не знаешь даже, что писать после throw и как оформить catch. То есть знаний по теме нет вообще.

Почему, когда я пишу, то сразу же находится куча статьей? Вот раздача гугла на запрос "Исключения С++" - ссылка

Первая ссылка идёт на кратенькую статью неизвестного автора, а вторая ссылка идёт, кстати, в MSDN, где всё расписано достаточно академически.

Я действительно не понимаю, зачем было тратить на поиски восемь месяцев. За это время некоторые ребёнка вынашивают...
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Сионист
Сообщения: 1211
Зарегистрирован: 31 мар 2014, 06:18

Romeo писал(а):Стоп. Речь шла вообще об исключениях. Ты сказал, что не знаешь даже, что писать после throw и как оформить catch. То есть знаний по теме нет вообще.

Почему, когда я пишу, то сразу же находится куча статьей?
Так две, или куча? Судя по тому, как Вы путаетесь в числах, не искали именно Вы. Или только сейчас поискали. Мне тоже вышла куча, но всей кучи не хватило.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Сионист, твоя основная задача - научиться учиться, как бы не комично это звучало. Эта способность, по задумке, должна была быть усвоена еще в школе. В запущеных случаях - в институте. Не имея таких базовых способностей программист обречен. Особенность нашей профессии - это постоянное развитие и самообучение, потому что технологии развиваются столь быстро, что когда освоишь в достаточной степени хорошо одно направление, оно оказывается уже давно устаревшим и не востребованным на рынке труда.
Говоря честно, я и сам забыл название оператора выбрасывающего исключение на С, но спустя пару минут я уже знаю его название, вспоминаю синтаксис и способы применения, в дополнение умный поисковик подсказывает мне наиболее популярные и часто посещаемые страницы по этой теме, в которой все разжевано и разложено по полочкам. Если не осиливаешь переварить эти статьи, то очевидно не хватает каких то опорных знаний и имеет смысл почитать что-то простенькое, чтобы достигнуть понимания.
Причем "прочитать книгу" вовсе не означает чисто механическое действие, а подразумевает осмысливание и достижение понимания, вплоть до понимания смысла каждого предложения в ней. За всю жизнь можно прочитать всего одну книгу, но настолько качественно, что переданное ею логическая информация даст большое развитие аналитическому мышлению со всеми вытекающими. И тогда наступит понимание того, что в остальных книгах то же самое, только представлено другими словоформами и степенью освещения материала.
Особенно полезно читать исходники и примеры, некоторые из них так качественно оформлены что даже не нуждаются в комментариях.
It's a long way to the top if you wanna rock'n'roll
Ответить