Postagens

Mostrando postagens de Julho, 2020

GO: "try/catch" ou "if err != nil"

Assim que comecei a programar em GO, fiquei bastante preocupado pelo fato dele não ter try/catch. Eu já estava (mal) acostumado a usar try/catch em tudo que é lugar. E isso é um erro. Bom, não chega a ser um erro, mas descobri que usar IF de maneira inteligente, o código fica muito mais claro. Como o Rob Pike, diz: " Errors are values ". Além disso, se você tem um bloco de código grande dentro de um try, logicamente terá que tratar todos os possíveis erros dentro do catch, o que visualmente não fica tão claro. Diante disso, passei a não mais encadear um IF dentro de outro (sempre que possível, lógico), e já trato (e retorno) os erros tão logo quanto possível. Parece bobo, mas nem sempre fiz isso. E agora, me parece algo tão óbvio!