15319

Обработка ошибок с помощью исключений

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа №5 Тема: Обработка ошибок с помощью исключений. Цель изучить основные способы программирования устойчивого кода. Обработка ошибок с помощью исключений Основная философия Java в том что €œплохо сформированный код не будет работать€. Идеальн...

Русский

2013-06-11

30 KB

4 чел.

Лабораторная работа №5

Тема: Обработка ошибок с помощью исключений.

Цель - изучить основные способы программирования "устойчивого кода".

Обработка ошибок с помощью исключений

Основная философия Java в том, что “плохо сформированный код не будет работать”.

Идеальное время для поимки ошибки - это время компиляции, прежде чем вы попробуете даже запустить программу. Однако не все ошибки могут быть определены во время компиляции. Оставшиеся проблемы должны быть обработаны во время выполнения, с помощью некоторого правила, которая позволяет источнику ошибки передавать соответствующую информацию приемщику, который будет знать, как правильно обрабатывать затруднение.

В C и других ранних языках могло быть несколько таких правил, и они обычно устанавливались соглашениями, а не являлись частью языка программирования. Обычно вы возвращали специальное значение или устанавливали флаг, а приемщику предлагалось взглянуть на это значение или на флаг и определить, было ли что-нибудь неправильно. Однако, по прошествии лет, было обнаружено, что программисты, использующие библиотеки, имеют тенденцию думать о себе, как о непогрешимых, например: “Да, ошибки могут случаться с другими, но не в моем коде”. Так что, не удивительно, что они не проверяют состояние ошибки (а иногда состояние ошибки бывает слишком глупым, чтобы проверять). Если вы всякий раз проверяли состояние ошибки при вызове метода, ваш код мог превратиться нечитаемый ночной кошмар. Поскольку программисты все еще могли уговорить систему в этих языках, они были стойки к принятию правды: Этот подход обработки ошибок имел большие ограничения при создании больших, устойчивых, легких в уходе программ.

Решением является упор на причинную натуру обработки ошибок и усиление правил. Это действительно имеет долгую историю, так как реализация обработки исключений возвращает нас к операционным системам 1960-х и даже к бейсиковому “on error goto” (переход по ошибке). Но исключения C++ основывались на Ada, а Java напрямую базируется на C++ (хотя он больше похож на Object Pascal).

Слово “исключение” используется в смысле “Я беру исключение из этого”. В том месте, где возникает проблема, вы можете не знать, что делать с ней, но вы знаете, что вы не можете просто весело продолжать; вы должны остановиться и кто-то, где-то должен определить, что делать. Но у вас нет достаточно информации в текущем контексте для устранения проблемы. Так что вы передаете проблему в более высокий контекст, где кто-то будет достаточно квалифицированным, чтобы принять правильное решение (как в цепочке команд).

Другая, более значимая выгода исключений в том, что они очищают код обработки ошибок. Вместо проверки всех возможных ошибок и выполнения этого в различных местах вашей программы, вам более нет необходимости проверять место вызова метода (так как исключение гарантирует, что кто-то поймает его). И вам необходимо обработать проблему только в одном месте, называемом обработчик исключения. Это сохранит ваш код и разделит код, описывающий то, что вы хотите сделать, от кода, который выполняется, если что-то случается не так. В общем, чтение, запись и отладка кода становится яснее при использовании исключений, чем при использовании старого способа обработки ошибок.

Прочитайте этот текст для освоения программирования исключений.

Задание лабораторной работы.

1. Напишите класс ввода целых и действительных данных с консоли, предусмотрев "обработку ошибок - не цифры....".

2. Перепишите программу из лабораторной работы № 3. Включите в программу возможность ввода исходных данных с консоли и "защитите" вычисление, указав соответствующие "исключения" (возможно новые).

3. Перепишите разработанные вами классы из лабораторной работы № 4 включив в них "защиту кода" и соответственно приведите пример работы с вашими классами.

 

Рекомендованная литература для дополнительного чтения - см. этот архив.


 

А также другие работы, которые могут Вас заинтересовать

33431. Финансовый план 24.12 KB
  Финансовый план баланс доходов и расходов предприятия состоит из четырех разделов: доходы и поступления средств расходы и отчисления кредитные взаимоотношения взаимоотношения с бюджетом. Доходы и поступления средств 1. Планируемые внереализационных доходы в том числе: доходы от долевого участия в уставном капитале других предприятий; доходы полученные от ценных бумаг; доходы от хранения денежных средств на депозитных счетах в банках и других финансовокредитных учреждениях; доходы от сдачи имущества в аренду.
33432. Финансовые результаты предприятия 22.58 KB
  Анализ формирования и использования прибыли. Определяются абсолютные суммы средств выплачиваемых из прибыли их динамика и структура. Использование прибыли означает уплату в бюджет налога на прибыль; распределение прибыли оставшейся в распоряжении предприятия. Налог на прибыль уплачивается в бюджет не со всей суммы прибыли отчетного года а с так называемой налоговой прибыли налогооблагаемой прибыли.
33433. Функции финансового менеджмента 21.87 KB
  Функции объекта управления воспроизводственная обеспечивает воспроизводство авансированного капитала на расширенной основе; производственная обеспечение непрерывного функционирования предприятия и кругооборота капитала; контрольная контроль управления капиталом предприятием. Функции субъекта управления прогнозирование финансовых ситуаций и состояний; планирование финансовой деятельности; регулирование; координация деятельности всех финансовых подразделений с основным вспомогательным и обслуживающим подразделениями предприятия; анализ и...
33434. Чистый поток наличности 22.29 KB
  Именно чистые денежные потоки различных периодов дисконтируются при оценке эффективности проекта. На начальной стадии осуществления проекта инвестиционный период денежные потоки как правило оказываются отрицательными. Дополнительная выручка от реализации продукции равно как и дополнительные производственные затраты возникшие в ходе осуществления проекта могут быть как положительными так и отрицательными величинами. Наряду с денежными потоками при оценке инвестиционного проекта используется также накопленный кумулятивный денежный...
33435. Анализ денежных потоков 22.32 KB
  С точки зрения руководства предприятия на динамическом уровне представляет собой план будущего движения денежных фондов предприятия во времени либо сводку данных об их движении в предшествующих периодах. Цель анализа денежных потоков это прежде всего анализ финансовой устойчивости и доходности предприятия. Его исходным моментом является расчет денежных потоков прежде всего от операционной текущей деятельности.
33436. Виды источников финансирования 23.06 KB
  Уровень самофинансирования предприятия зависит не только от его внутренних возможностей но и от внешней среды налоговой бюджетной таможенной денежнокредитной политики государства. Основные формы внутреннего финансирования это: В составе внутренних источников основное место принадлежит прибыли остающейся в распоряжении фирмы которая распределяется на цели накопления и потребления. Источником финансирования являются доходы получаемые от внереализационных операций за вычетом расходов на их осуществление.
33437. Виды и методы финансового планирования 22.09 KB
  планы динамики активов предприятия в целом его структурных элементов а также планы применяемых финансовых ресурсов. Основными видами текущих финансовых планов являются баланс а также план доходов и расходов предприятия план поступления и расходования денежных средств план формирования и распределения финансовых ресурсов а также капитальный бюджет. Планирование финансовых показателей осуществляется посредством определенных методов: нормативного расчетноаналитического балансового метода оптимизации плановых решений...
33438. Выручка от реализации: способы определения, назначение 24.28 KB
  Выручка отличается от прибыли так как прибыль это выручка минус расходы издержки которые компания понесла в процессе производства своих продуктов. Для благотворительных организаций выручка включает общую стоимость полученных денежных подарков. Выручка от реализации продукции работ услуг включает в себя денежные средства либо иное имущество в денежном выражении полученные или подлежащие получению в результате реализации товаров готовой продукции работ услуг по ценам тарифам в соответствии с договорами.
33439. УПРАВЛЕНИЕ ДЕБИТОРСКОЙ ЗАДОЛЖНОСТЬЮ ВИДЫ 22.48 KB
  RTR = продажи в кредит или выручка средняя дебиторская задолженность. Дебиторская задолженность делится на две группы: 1. дебиторская задолженность за товары работы и услуги срок оплаты которых не наступил.