---
# System prepended metadata

title: 'SESSION SIX: CHECKOUT'

---

# 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
```