# SESSION SIX: CHECKOUT Author: Igor Lima Charles N°: 18 Grade: INFOA ## MAPA MENTAL ![](https://i.imgur.com/InOffpl.jpg) ## VALIDAÇÕES: IF + THROW EXCEPTION Utilizamos esta combinação de comandos para determinar exceções que podem ocorrer ao executarmos uma parte específica do programa, como por exemplo, podendo ser ela um argumento inválido. O comando ***IF*** indica que é necessária determinada situação para que criemos uma exceção Utilizamos essaa declaração ***throw exception*** "dizer" que existe um evento anormal/inválido dentro de nosso código. Vale ressaltar que nessas ***exceções***, nós podemos retornar uma mensagem ```csharp= //EXEMPLO public double AreaRetangulo(double b, double a) { if (b < 0) throw new Exception("Base inválida"); if (a < 0) throw new Exception("Altura inválida"); double area = b * a; return area; } ``` ## VALIDAÇÕES: TRY/CATCH Utiliza-se essa combinação de declarações para capturar e tratar nossas exceções. A claúsula ***TRY*** tentará executar o código, caso não haja erros de códigos, ele seguirá para o próximo passo. Agora, caso ocorra, ele irá para a claúsula ***CATCH***. ***CATCH*** trata a a exceção encontrada pela clausula anterior ```csharp= // EXEMPLO public double AreaRetangulo(double b, double a) { if (b < 0) throw new Exception("Base inválida"); if (a < 0) throw new Exception("Altura inválida"); double area = b * a; return area; } try { double x = AreaRetangulo(-10, 5); Console.WriteLine(x); } catch (Exception ex) { Console.WriteLine(ex.Message); } return value = Base inválida ``` ## CRUD CRUD é o anacrônimo em inglês para: * Criar (Create): É onde criamos um registro, como uma variável, função, classe ou lista, ... * Exibir (Read) : É onde vemos o que tem dentro daquilo que críamos * Alterar(Update): Alteramos um valor presente naquilo que críamos, como por exemplo, de uma varíavel/um elemento * Deletar(Delete): Excluímos um elemento presente dentro daquilo que críamos, como uma variável. ```csharp= //EXEMPLO // criacao - CRUD List<int> lista = new List<int>(); // adicionar lista.Add(1); lista.Add(20); lista.Add(32); lista.Add(40); lista.Add(52); // exibir Console.WriteLine(string.Join(" - ", lista)); // alterar lista[0] = 10; lista[2] = 30; lista[4] = 50; Console.WriteLine(string.Join(" - ", lista)); // ler int x = lista[2]; Console.WriteLine(x); x = lista[4]; Console.WriteLine(x); // remover lista.Remove(1); Console.WriteLine(string.Join(" - ", lista)); lista.RemoveAt(0); Console.WriteLine(string.Join(" - ", lista)); return value { 1 - 20 - 32 - 40 - 52 10 - 20 - 30 - 40 - 50 30 50 10 - 20 - 30 - 40 - 50 20 - 30 - 40 - 50} ``` ## COMANDO FOR Este comando é responsável pela estrutura de repetição quando queremos que determinado bloco de código seja executado diversas vezes. Nós utilizamos de três elementos para compor sua sintaxe: ***inicializador, contador e iterador***. ```csharp= //EXEMPLO using System; for (int i = 0; i <= 100; i++) { Console.WriteLine(i++); } 0 2 4 6 8 ... 100 ```