Обробка виключень в С #

Програми можуть містити тисячі, сотні тисяч або навіть мільйони рядків иодную коду, тому одній людині неможливо встежити за всіма функціями, реалізованими в коді Для цього необхідна команда розробників Це означт, що код, написаний одним розробником, буде використовуватися і модіфіцоваться іншими Так як розробники не можуть злити свої уми в один, вони повинні мати зрозумілий і продуктивний спосіб взаємодії один з одним Але це буде всього лише частиною рішення Сам код повинен з легкістю поддаватя розумінню

Проблемою при написанні програмного забезпечення є не створення ідльного вихідного коду, а створення коду, який зможуть розуміти інші разротчікі і який можна буде використати в іншому програмному забезпеченні Іншими словами, метою не є продемонструвати, який ви розумний, і написати код, який може робити все, але написати просте, надійне і легко піддається розумінню програмне забезпечення У цьому відношенні кращим є підхід за принципом чим простіше, тим краще.

Важливість мати код, робота якого легко піддається розумінню, особливо првляется, коли щось йде не так Одним з підходів до надання інфоаціі про роботу коду буде постачання його здатністю генерувати повідомлення про помилки Наприклад, припустимо, що ваш код розраховує на наявність опреденного файлу У випадку якщо він не знаходить цей файл, код повинен видати чітке і зрозуміле повідомлення про помилку, наприклад такого вигляду: Файл XYZ отсутвует, і тому подальше виконання неможливо. Коли інший розробник побачить таке повідомлення, він буде знати, що необхідно перевірити наявність труемого файлу

У цьому розділі ми розглянемо виключення (як називаються помилки програмного забезпечення на технічному жаргоні) і їх обробку Почнемо з розгляду раоложенія винятків у загальній структурі програми

Помилки, виключення і обробка виключень

Помилка виникає, коли програма з якихось причин, наприклад в резулате введення неправильних даних або неправильно зазначених обчислень, що не волняется належним чином Але середу CLR NET не розуміє помилок, а тільки винятки

Наприклад, якщо помилка викликана множенням двох чисел замість їх складання, то програма буде продовжувати працювати, але видасть неправильні результати Подібна помилка відбувається при введенні користувачем невірних даних – рультат буде неправильним, але програма буде продовжувати працювати

У випадку серйозної проблеми, яка не може бути дозволена користувачем або може викликати збій програми, до обробки цієї помилки підключається середу CLR Такі помилки називаються винятками Замість того щоб дозволити прзойті програмному збою, середа CLR зупиняє штатний виконання пррамми і надає можливість обробити виняток самою програмою (Деякі прискіпливі до подробиць програмісти можуть сперечатися, що оставлівается виконання не всієї програми, але тільки одного з її потоків Хоча технічно вони будуть праві, для даного обговорення винятків це не є суттєвою різницею) Це називаєтьсяобробкою винятків

Щоб отримати уявлення про те, яким чином організація коду впливає на обробку винятків, уявіть собі програму, як велику корпорацію Корпорація має генерального директора, менеджерів першого рівня, менеджен середнього рівня і т д до простих працівників Керівництво корпорації Пона, що для того щоб здійснити поставлені перед корпорацією завдання, потрібно розробити план дій і слідувати цьому плану Генеральний директор та керівники вищого рівня будуть знати весь план дій А виконання окремих пунктів плану покладається на керівників нижчого рівня і підлеглих їм робітників Результатом виконання всіх окремих положень плану цими організаційними одиницями буде реалізація всього плану

Застосувавши цю концепцію до області розробки програмного забезпечення, можна виділити два типи методів: методи для організації функціональності і методи для реалізації цієї функціональності Організаційний код створюється для того, щоб можна було розбити всю задачу на окремі індивідуальні робочі едиція Виконання однієї такої робочої одиниці коду не впливає на виконання іншої, і таким чином ми отримуємо модульну програму

ПРИМІТКА

Як корпорації піддаються періодичній реорганізації, код управління прраммой також необхідно реорганізовувати з тим, щоб виправити помилки і реізовать нові функціональні можливості Наприклад, ви можете вирішити реоргізовать свій код, щоб зробити його більш налагодженим і ефективним

Тепер подивимося, яке місце в цій організаційній схемі займають іскленія Якщо відбувається щось непередбачене планом, то ми маємо помилку В управлінській ієрархії генеральному директору зазвичай не доповідають про всі сталися нештатних ситуаціях Наприклад, навряд чи йому було б інтесно дізнатися про те, що в офісі скінчилися дужки для степлерів Але йому опреденно захотілося б дізнатися про виході з ладу головної виробничої лінії Іншими словами, інформація про помилки передається вгору по інстанціях до тако рівня, для якого певний тип помилок становить інтерес

Стосовно до різних типів методів, в ієрархічно організованому пріленіі організаційний код або виправляє помилку, або передає її вгору по інстанції Так і вищий в ієрархії модуль або виправляє проблему, або педалі її ще вищому модулю

У що залишився матеріалі даної глави ми будемо розглядати способи обрабоі винятків Метою є надати практичні рішення, які можна застосувати, не ризикуючи застрягти в трясовині теоретичних А що, якщо.

При розробці засобів обробки виключень часто корисно виконувати разрабиваемое додаток в відладчик Visual С # Express, тому ми почнемо з озномленія з даними отладчиком

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*