Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 09 2016 22:14:27
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Программирование на C#. Исключения (общие советы)


[Назад] [Следующая страница]

5.5. Некоторые рекомендации по использованию исключений

  1. На каждом архитектурном уровне старайтесь обрабатывать только “свои” исключения, а обработку остальных оставляйте более компетентным обработчикам других уровней вашей программы.

  2. Старайтесь в разумных пределах использовать свои собственные классы исключений с тем, чтобы передавать специфичные для каждой отдельной ситуации данные, необходимые для полной диагностики ошибок.

  3. Также, используйте свои классы исключений для того чтобы скрыть от пользователей ваших программных компонентов детали их реализации. В некоторых ситуациях это может быть крайне полезным, поскольку ваши творения могут попасть и в руки конкурентов.

  4. Старайтесь всегда использовать исключения для обработки нештатных ситуаций кроме, разве что, тех случаев, когда вы серьезно ограничены в объемах используемой оперативной памяти. В условиях подобных ограничений можно обратиться к старым добрым целочисленным кодам ошибок.

  5. Используйте исключения по назначению. Пример того, как можно использовать исключения ради быстрого возврата из рекурсии показан ниже, и это не пример для подражания!

    using System;
    using System.Windows.Forms;
    namespace CSharpQuickGuide
    {
        public static class FactorialSample
        {
            public static void Calculate(int n)
            {
                try
                {
                    Factorial(n);
                }
                catch (MyException result)
                {   
                    MessageBox.Show(result.Message, "Result");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Exception");  
                }
            }
    
            private static void Factorial(int n)
            {
                Factorial(1, n); 
            }
    
            private static void Factorial(long result, int n)
            {
                if (n == 1)
                    throw new MyException(result.ToString());
    
                Factorial(result * n, --n); 
            }
        }
    }
    

    Рекурсивное вычисление факториала с использованием исключений.



[Назад] [Следующая страница]

Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.