Информация


Programm.ws - это сайт, на котором вы можете почитать литературу по языкам программирования, а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..

Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Глава 16. Обработка исключительных ситуаций

Порядок обработки исключений

Блоки catch () {} перехватывают исключения в порядке написания этих блоков. Это правило приводит к интересным результатам.

В листинге 16.2 мы записали два блока перехвата catchou и оба блока выполнялись при возникновении соответствующего исключения. Это происходило по тому, что классы-исключения ArithmeticException и ArrayindexOutofBoundsException находятся на разных ветвях иерархии исключений. Иначе обстоит дело, если блоки catch() {} перехватывают исключения, расположенные на одной ветви. Если в листинге 16.4 после блока, перехватывающего RuntimeException, поместить блок, обрабатывающий выход индекса за пределы:

try{

// Операторы, вызывающие исключения 

}catch(RuntimeException re){

// Какая-то обработка 

}catch(ArrayindexOutofBoundsException ae){

// Никогда не будет выполнен! 

}

то он не будет выполняться, поскольку исключение этого типа является, к тому же, исключением общего типа RuntimeException и будет перехватываться Предыдущим блоком catch () {}.