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?

O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.


O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


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.


O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


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.


Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.