Não entendi por que o "this" no segundo construtor faz referencia ao terceiro construtor, visto que esses três construtores estão em uma mesma classe?
public SaldoInsuficienteException()
{
}
public SaldoInsuficienteException(double saldo, double valorSaque)
     : this("Tentativa de saque no valor de " + valorSaque + " em uma conta com saldo de " + saldo)
 {
      Saldo = saldo;
      ValorSaque = valorSaque;
 }
 public SaldoInsuficienteException(string mensagem)
      : base(mensagem)
  {
  } 
            