×
Namespaces

Variants
Actions
Revision as of 23:05, 27 May 2007 by cabezonxdg (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Abandonos (Leaves)

From Nokia Developer Wiki
Jump to: navigation, search

Ao invés das exceções de C++, que não faziam parte do C++ Standard quando o Symbian foi projetado, o sistema operacional utiliza uma forma mais leve para gerenciar exceções chamada de leave (abandono). Abandonos podem ocorrer como resultado de uma condição de erro ou de um evento anormal, como falta de memória ou de disco para completar uma operação. O abandono propaga o erro a um local no código onde ele pode ser gerenciado, chamado TRAP harness.

No entanto, devido a esse deslocamento, qualquer recurso local como memória alocada dinâmicamente terá sua referência perdida, podendo ocasionar uma brecha na memória. Por isso, programadores trabalhando com Symbian OS utilizam a pilha de limpeza (Cleanup Stack) para manter-se a par dos recursos gerênciados. Na ocorrência de um abandono, a pilha de limpeza irá destruir os recursos do elemento que está em seu topo.

Alguns locais importantes nunca devem abandonar , conhecidos como construtores e destrutores. Por isso classes em Symbian OS normalmente utilizam a construção em duas fases para evitar a ocorrência de abandonos na construção do código.

Leitura complementar

Pilha de limpeza - Cleanup Stack
Construtor em 2 fases
Gerência de memória

127 page views in the last 30 days.