"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Tente...Catch V/s Safe Assignment (?=): Uma bênção ou uma maldição para o desenvolvimento moderno?

Tente...Catch V/s Safe Assignment (?=): Uma bênção ou uma maldição para o desenvolvimento moderno?

Publicado em 2024-11-06
Navegar:132

Try...Catch V/s Safe Assignment (?=): A Boon or a Curse for Modern Development?

Recentemente, descobri o novo Operador de Atribuição Segura (?.=) introduzido em JavaScript e estou realmente fascinado por sua simplicidade. ?

O Safe Assignment Operator (SAO) é uma alternativa abreviada ao bloco try...catch tradicional. Ele permite capturar erros in-line sem escrever código explícito de tratamento de erros para cada operação. Aqui está um exemplo:

const [error, response] ?= await fetch("https://api.example.com/data");

É isso! É muito fácil. Se a solicitação de busca gerar um erro, ele será automaticamente armazenado na constante de erro; caso contrário, a resposta mantém o resultado. Muito legal, certo?

Mas espere... tem mais.

Ao usar SAO, você ainda terá que lidar com erros mais adiante, como este:

async function getData() {
  const [requestError, response] ?= await fetch("https://api.example.com/data");

  if (requestError) {
    handleRequestError(requestError);
    return;
  }

  const [parseError, json] ?= await response.json();

  if (parseError) {
    handleParseError(parseError);
    return;
  }

  const [validationError, data] ?= validation.parse(json);

  if (validationError) {
    handleValidationError(validationError);
    return;
  }

  return data;
}

Embora SAO simplifique o tratamento de erros, ele pode levar a um código mais detalhado. Compare isso com um bloco try...catch tradicional:

async function getData() {
try {
  const response = await fetch("https://api.example.com/data");
  const json = await response.json();
  const data = validation.parse(json);
  return data;
} catch (error) {
  handleError(error);
  return;
}
}

Neste caso, try...catch leva apenas 9 linhas de código, enquanto SAO aproximadamente o dobro.

Então, o que você acha? O Operador de Atribuição Segura economiza tempo ou adiciona complexidade desnecessária?

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/nikhilagr15/trycatch-vs-sfe-assignment-a-boon-or-a-curse-for-modern-development-55dg?1 Se houver alguma infração, entre em contato com [email protected] para Delete It.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3