Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

28 de abril de 2020

C#: Como saber a linha que a exceção foi lançada


No post de hoje irei mostrar uma forma simples de se capturar a linha exata onde a exceção foi lançada, apenas a linha e não o stack trace inteiro.

catch(Exception ex)
{
    var stack = new System.Diagnostics.StackTrace(extrue);
    var linha = stack.GetFrame(0).GetFileLineNumber();
}

Com apenas duas linhas de código (poderia ser uma), selecionamos o stack trace da exceção e colocamos em uma variável, após pegamos o primeiro frame que contém a linha onde a exceção foi lançada, no caso coloquei ela na variável linha assim posso tanto usar em uma mensagem ou um arquivo de texto, log seja o que você precisar.
Ler

15 de abril de 2020

C#: Como saber a quantidade de casas decimais


Nesse post irei mostrar uma forma simples de se contar quantas casas decimais existem em um número no C#, por exemplo 2,35641 tem 5 casas decimais (números após a vírgula).

Nesse caso irei trabalhar com uma variável decimal com o número citado acima e vou setar uma variável tipo inteiro para conter a quantidade de casas decimais.

decimal contarCasas = 2.35641m;

int casasDecimais = (contarCasas.ToString(CultureInfo.InvariantCulture)).Split('.')[1].Length;

No código acima eu converto o decimal para uma string utilizando o culture info para garantir que as casas decimais serão tratadas após o "." e não vírgula "," como aqui no padrão utilizado pelo Brasil, após isso dou um split para separar em duas strings sendo a segunda string tudo o que estiver após o ponto e com isso o tamanho da string será exatamente a quantidade de casas decimais do meu número.
Ler