Categorias

Saiba como utilizar TRY e USING

Sabemos que no final das contas, ambos fazem a mesma coisa.

No entanto ao usar o try/finnaly o objeto instanciado por você, deverá ser liberado dentro de finnaly (você deverá fazer isso manualmente), mas quando usamos using, está liberação é feita automaticamente.

O using atende a liberação de recursos. O objeto que será instânciado no comando “using”, é liberado automaticamente, ou seja, é chamado o “Dispose” deste objeto de forma totalmente automática.

O using é um tipo de atalho da liguagem. O compilador traduz o using para um comando muito semelhante a instrução nativa try/finaly.

Na prática como funciona? Vejamos um exemplo simples:

<b>1- Aqui um código puro sem bloco de segurança.</b>

TextWriter writer = new StreamWriter(”texto.txt”);
writer.WriteLine(”Aqui vem o texto.”);
writer.Dispose();

<b>2- Agora o mesmo código, só que em uma construção dentro de um bloco seguro e com a liberação do recurso do objeto.</b>

TextWriter writer = null;

try
{
writer = new StreamWriter(”texto.txt”);
writer.WriteLine(”Aqui vem o texto.”);
}
finally
{
if (writer != null)
writer1.Dispose();
}

<b>3- Aqui o equivalente ao código anterior com o comando “using”.</b>

using ( TextWriter writer = new StreamWriter(”texto.txt”) )
{
writer2.WriteLine(”Aqui vem o texto.”);
}

Bom, agora segue a dica:

Nunca se esqueça de SEMPRE usar o “using” quando estiver trabalhando com recursos não gerenciados.