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:

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

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:

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

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:
{
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:

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

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:

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:

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:

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.
Você Sabia?
Asteroids
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.
Música tema do Blanka
Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.
Mario e seu bigode
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.
Nintendo Entertainment System
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.
Mortal Kombat - O Filme
O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.
Space Invaders
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.
Máquina de Pascal
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.
Street Fighter 2
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.
Galaxy Game
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.
Tetris
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.
Nintendo Wii
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!