среда, 1 августа 2012 г.

module: java exceptions

Видео по модулю


Подтемы
    - иерархия исключений
    - классификация исключений
    - "устройство": message, cause, custom fields
    - сцепленные исключения
    - стратегии обработки ошибок
    - try-with-resources (+ suppressed exceptions)
    - multi-catch (+ more precise rethrow)


Стратегия создания классов исключений
1. Никогда не наследуйся напрямую от Throwable
2. Никогда не наследуйся напрямую от Error
3. Старайся не порождать экземпляры Error и его наследников
4. Старайся создавать свой корень (IOException, SQLException, ...)
5. Твой выбор #1: быть checked (наследник Exception) или unchecked (наследник RuntimeException)
6. Твой выбор #2: - корень монтировать под Exception/RuntimeException или их потомков
7. Твой выбор #3: - создать одно исключение или иерархию
8. Твой выбор #4: - кидать свое исключение или из JDK


    Модуль исключений включает:
    - синтаксис
        - правила работы с try/catch/finally
        - правила работы с checked исключениями и throws
    - семантика
        - наиболее часто используемые исключения
        - стратегии обработки исключений

    Модуль исключений НЕ включает:
    - нововведения в Java 7

        - try-with-resources
        - mult-catch
        - more precise rethrow


Плакаты
1. Иерархия (core + popular)
2. Popular in concrete situations
3. Enterprise practice - 4 different approaches


Материалы
Механика, устройство отдельного исключения, полиморфная обработка
    - [Флэган. Сравочник] - 73-77
    - [Шилдт. Руководство] - стр ?-?
Распространенные типы исключений JDK
    - [Шилдт. Руководство] - стр 251-252
Обработка исключений в корпоративных проектах