Os comandos Try/Catch/Finally fazem parte de um extenso e importante assunto chamado tratamento de exceções. Eu não vou falar sobre isso agora, até porque desviaríamos de forma bastante significativa o foco do minicurso, mas não se preocupem. O suficiente para a continuidade do minicurso será visto e de forma que a compreensão seja garantida. Por enquanto vamos pensar nos blocos Try/Catch/Finally como uma inteligente solução para quando acontecerem erros em tempo de execução, ou seja, quando o aplicativo já estiver compilado e sendo executado.

Para demonstrar estes importantes blocos em funcionamento, criarei um pequeno aplicativo que faz a divisão de dois números, e vou, propositadamente, tentar efetuar uma divisão por zero, o que, claro, não é possível.

Vejam a interface do programa, muito simples:

Try Catch Finally

O código do botão “Efetuar Divisão” ficou da seguinte forma:

Try Catch Finally

Como vocês podem ver, é só uma simples divisão cujo resultado será exibido em uma caixa de mensagens.

Agora vou tentar realizar a execução com os seguintes números:

Try Catch Finally

Vejam o que acontece quando clico no botão para efetuar a divisão:

Try Catch Finally

O programa trava, retorna ao Visual C#, que exibe a mensagem de uma exceção gerada pela tentativa de divisão por zero. Evidentemente não podemos permitir que nossos programas travem e sejam encerrados bruscamente dessa forma. Para evitar esse comportamento é que vamos fazer uso do try/catch/finally. Observem o código abaixo:

private void btnDivisao_Click(object sender, EventArgs e)
{
int resultado = 0;
try
{
resultado = Convert.ToInt32(txtNumero1.Text) / Convert.ToInt32(txtNumero2.Text);
MessageBox.Show("O resultado da operação é: " + resultado);
}
catch
{
MessageBox.Show("Ocorreu um erro na tentativa de divisão!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

Comentando este pequeno código, teremos:

Try Catch Finally

Agora vou tentar executar o programa e realizar a mesma divisão por zero que havia gerado a interrupção abrupta anteriormente.

Try Catch Finally

Notem que agora ocorre apenas a exibição da mensagem, mas ao clicar no botão OK a execução do programa continua normalmente.

Bem, até aqui vimos que se uma falha acontece dentro do bloco try, o código é desviado para o catch, mas não falei sobre a utilização do finally. Vou efetuar uma alteração no código para inclui-lo, mas ele não é essencial. O finally é utilizado quando você quer que, obrigatoriamente, algum código seja executado, independentemente de ter havido alguma exceção. Por não ser essencial é comum encontrarmos blocos de código fazendo uso apenas do try/catch, mas aqui vamos impor uma condição de uso. Vamos imaginar que sendo exibido o resultado correto ou a mensagem de erro, queiramos que, ao retornar para o aplicativo os campos para inserção de números sejam limpos. Dessa forma nosso código ficará assim:

Try Catch Finally

O que precisa ser entendido é que o objetivo do try/catch é evitar que uma exceção gere a interrupção abrupta do código. Sempre que houver essa possibilidade, vale a pena inserir estes blocos e, quando for necessário, o finally.

Capturando uma exceção

Vale destacar também que no caso de uma exceção acontecer e desviar a execução do código para o bloco catch, é possível capturá-la e exibi-la para o usuário ou então armazená-la em um log, caso você julgue necessário. Vejam como isso é simples de ser feito, bastando uma pequena alteração no código:

Try Catch Finally

Notem que inseri o complemento (Exception ex) ao catch. O trecho “ex” é o nome que a exceção receberá, por isso foi possível concatená-la à string da MessageBox, na sequência.

Vejam a exibição desta MessageBox na imagem abaixo:

Try Catch Finally

Notem que houve a concatenação da mensagem previamente inserida no código com a exceção gerada. Não é comum exibir esse tipo de mensagem ao usuário, pois quase sempre ela terá alguma informação técnica, mas é importante que você saiba que é possível fazê-lo. Como eu citei acima, para alguns sistemas, armazenar estes erros em logs ou então enviá-los via Internet pode ser fundamental para futuras atualizações da aplicação.

Bem, com isso vimos a importância dos blocos try/catch/finally e, agora sim, podemos começar a manipular dados no banco.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.


Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.