Na prática

Exemplo 1

try {
const json = '{ nome: "Bruno", "dataNascimento": "09061993" }'
const user = JSON.parse(json)
console.log(user.nome)
// Bruno
} catch (e) {
console.log(e.message)
// Unexpected token n in JSON at position 2
}

Exemplo 2

/**
* valida se um número de cpf é valido
*
* @example cpfIsValido("999.999.999-99")
*
* @param numero
* @returns
*/
function cpfIsValido (numero) {
/**
* @type expressão regular para validar o número de cpf
*/
const pattern = /^\d\.\d\.\d\-\d$/
// se o valor passado não cumprir com o padrão da expressão regular
// é gerada uma exceção
if (!pattern.test(numero)) {
throw new Error('cpf escrito com um padrão não aceito')
}
// retorna apenas os número do cpf
return numero.replace(/\D/g, '')
}
try {
console.log(cpfIsValido('999.999.99999'))
} catch (err) {
console.log(err.message)
// cpf escrito com um padrão não aceito
}

Exemplo 3

try {
const isAutenticado = logIn(email, senha)
if (!isAutenticado) {
throw new Error('E-mail ou senha inválidos')
}
} catch (err) {
window.alert(err.message)
// E-mail ou senha inválidos
}

Exemplo 4: Tratando falha ao tentar ler arquivo inexistente no Node.js

const fs = require('fs')try {
const data = fs.readFileSync('./index.html', { encoding: 'utf8' })
// alguma logica da aplicação
} catch (err) {
console.log(err.message)
// ENOENT: no such file or directory, open 'index.html'
}

Exemplo 5: Tratando falha ao tentar excluir um arquivo inexistente no Node.js

const fs = require('fs')try {
fs.unlinkSync('index.html')
console.log('Arquivo excluído!') // alguma lógica da aplicação
} catch (err) {
console.log(err.message)
// ENOENT: no such file or directory, unlink 'index.html'
}

Fluxograma do try catch

A cláusula final (finally)

Tipos de erros no JavaScript

EvalError

RangeError

ReferenceError

SyntaxError

TypeError

URIError

Disparar erros (Throwing errors)

Erros personalizado

Conclusão

--

--

--

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
douglasabnovato

douglasabnovato

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato

More from Medium

Proxies in Javascript simplified

How to use Volta and why you should consider it over nvm

Why do we need to write tests

Regex to validate for decimal numbers in a text type form input.