Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

Lista 20 – Namespaces e Tratamento de Erros com try-catch em C#
Esta lista apresenta o uso de namespaces e o tratamento de exceções em C#. São explorados blocos `try-catch`, `finally`, e o uso de `throw` para lançar exceções. Também é introduzida a organização de código com namespaces.
Enunciados
1. Crie um programa que divide dois números. Use `try-catch` para tratar divisão por zero.
2. Crie um programa que converte uma string em inteiro. Use `try-catch` para tratar conversões inválidas.
3. Crie um método que acessa um índice fora dos limites de um vetor. Trate a exceção com `try-catch`.
4. Crie uma calculadora simples com `try-catch` para proteger contra exceções inesperadas.
5. Crie uma classe `Pessoa` dentro de um namespace `Sistema.Entidades`. Instancie essa classe no `Main`.
6. Crie um namespace `Utilitarios` com uma classe `Conversor` e método `ConverterParaInt()`.
7. Crie um programa com `try-catch-finally` que sempre exiba “Programa encerrado” no `finally`.
8. Crie uma função que lança uma exceção personalizada com `throw new Exception()`. Trate-a no `Main`.
9. Crie dois namespaces `Empresa.A` e `Empresa.B`, cada um com uma classe `Funcionario`. Use ambas no `Main`.
10. Crie uma divisão dentro de um método e trate erro com `try-catch`, informando o erro na tela.
Soluções em C#
Exercício 1
using System;
class Program
{
 static void Main()
 {
 try
 {
 int a = 10, b = 0;
 Console.WriteLine(a / b);
 }
 catch (DivideByZeroException)
 {
 Console.WriteLine("Erro: Divisão por zero.");
 }
 }
}
Exercício 2
using System;
class Program
{
 static void Main()
 {
 try
 {
 string entrada = "abc";
 int valor = int.Parse(entrada);
 }
 catch (FormatException)
 {
 Console.WriteLine("Erro: Entrada inválida para conversão.");
 }
 }
}
Exercício 3
using System;
class Program
{
 static void Main()
 {
 try
 {
 int[] numeros = { 1, 2, 3 };
 Console.WriteLine(numeros[5]);
 }
 catch (IndexOutOfRangeException)
 {
 Console.WriteLine("Erro: Índice fora do limite do vetor.");
 }
 }
}
Exercício 4
using System;
class Calculadora
{
 public static void Calcular()
 {
 try
 {
 int a = 5, b = 0;
 Console.WriteLine("Resultado: " + (a / b));
 }
 catch (Exception e)
 {
 Console.WriteLine("Erro inesperado: " + e.Message);
 }
 }
}
class Program
{
 static void Main()
 {
 Calculadora.Calcular();
 }
}
Exercício 5
using System;
using Sistema.Entidades;
namespace Sistema.Entidades
{
 public class Pessoa
 {
 public string Nome = "Carlos";
 }
}
class Program
{
 static void Main()
 {
 Pessoa p = new Pessoa();
 Console.WriteLine("Nome: " + p.Nome);
 }
}
Exercício 6
using System;
using Utilitarios;
namespace Utilitarios
{
 public class Conversor
 {
 public static int ConverterParaInt(string texto)
 {
 return int.Parse(texto);
 }
 }
}
class Program
{
 static void Main()
 {
 try
 {
 int numero = Conversor.ConverterParaInt("123");
 Console.WriteLine("Número convertido: " + numero);
 }
 catch (FormatException)
 {
 Console.WriteLine("Erro na conversão.");
 }
 }
}
Exercício 7
using System;
class Program
{
 static void Main()
 {
 try
 {
 int x = int.Parse("10");
 }
 catch
 {
 Console.WriteLine("Erro ao converter.");
 }
 finally
 {
 Console.WriteLine("Programa encerrado.");
 }
 }
}
Exercício 8
using System;
class Program
{
 static void LancaErro()
 {
 throw new Exception("Erro personalizado lançado!");
 }
 static void Main()
 {
 try
 {
 LancaErro();
 }
 catch (Exception e)
 {
 Console.WriteLine("Exceção capturada: " + e.Message);
 }
 }
}
Exercício 9
using System;
using Empresa.A;
using Empresa.B;
namespace Empresa.A
{
 public class Funcionario
 {
 public string Nome = "Alice de A";
 }
}
namespace Empresa.B
{
 public class Funcionario
 {
 public string Nome = "Bruno de B";
 }
}
class Program
{
 static void Main()
 {
 Empresa.A.Funcionario f1 = new Empresa.A.Funcionario();
 Empresa.B.Funcionario f2 = new Empresa.B.Funcionario();
 Console.WriteLine(f1.Nome);
 Console.WriteLine(f2.Nome);
 }
}
Exercício 10
using System;
class Program
{
 static void Dividir(int x, int y)
 {
 try
 {
 Console.WriteLine(x / y);
 }
 catch (DivideByZeroException e)
 {
 Console.WriteLine("Erro: " + e.Message);
 }
 }
 static void Main()
 {
 Dividir(10, 0);
 }
}

Mais conteúdos dessa disciplina