Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Накладные расходы по обработке исключений
Современные среды времени выполнения предоставляют структурную обработку исключений, позволяющую коду надежно справляться с разрешением исключительных ситуаций. Программисты могут перехватывать исключения, возбуждаемые низкоуровневым кодом среды выполнения, но могут возбуждать и перехватывать также собственные исключения. Структурная обработка исключений является чрезвычайно надежным средством, позволяющим средам выполнения управляемого кода, компонентам и приложениям восстанавливать работоспособность после непредвиденных сбоев и возобновлять нормальный режим функционирования. При возбуждении исключения среда выполнения принимает управление на себя и просматривает стек в поиске соответствующего обработчика, который будет использоваться для перехвата исключения. При этом гораздо важнее то, чтобы стек был развернут корректно, а не то, чтобы обработка исключения была осуществлена столь же быстро, как и выполнение обычного кода. Как следствие, издержки на возбуждение и обработку исключений могут приводить к некоторому ухудшению производительности.
Чтобы сохранить производительность на высоком уровне, следует избегать создания предпосылок для частого возбуждения исключений при нормальном выполнении приложения. В коде алгоритмов вашего мобильного приложения должны быть предусмотрены специальные меры, позволяющие избегать возбуждения и перехвата исключений в условиях нормального выполнения. Проектируйте собственные алгоритмы таким образом, чтобы исключения возбуждались лишь в действительно исключительных ситуациях. В обычных условиях ваше приложение должно выполняться так, чтобы не было сгенерировано ни одного исключения.
Если обнаруживается, что в условиях нормального выполнения приложения ему приходится обрабатывать исключения, возбуждаемые средой времени выполнения, или собственные исключения, проанализируйте код и измените его таким образом, чтобы избежать создания подобных исключительных ситуаций.
Структурная обработка исключений является мощным средством объектно-ориентированного программирования, но ее применение требует осмотрительности. Умелое использование структурной обработки исключений при размещении объектов в памяти и освобождении памяти от объектов, необходимость в которых отпала, способно упростить процесс программирования и сделать его более надежным, однако при применении этого средства неопытными программистами производительность приложения может резко ухудшиться.
- Генерирование исключений
- ГЛАВА 4 Обработка исключений
- ГЛАВА 6. Структурированная обработка исключений
- Исключения и обработчики исключений
- Контролировать расходы, чтобы понимать ситуацию
- Инструкция по обработке
- Векторная обработка исключений
- Последний глобальный шанс для обработки исключений
- Рекомендации по обработке событий в среде .NET Framework
- Обработка исключений
- Отладка необработанных исключений в Visual Studio 2005
- Атомы обработки исключений в .NET