Quando implementei a herança na Classe ValorSacadoMenorSaldoException da Classe OperacaoFinanceiraException, apresentou esse alerta BC42029 'O bloco 'Catch' nunca é alcançado porque 'ValorSacadoMenorSaldoException' herda de 'OperacaoFinanceiraException'.
Private Sub btnTransferir_Click(sender As Object, e As EventArgs) Handles btnTransferir.Click
Try
vStack = ""
Dim ValorTransferencia As Double = Val(txtValor.Text)
Conta.Transferir(ValorTransferencia, Conta2)
lblSaldo.Text = "Saldo da Conta = " + Conta.Saldo.ToString
lblSaldo2.Text = "Saldo da Conta = " + Conta2.Saldo.ToString
Catch ex As OperacaoFinanceiraException
lblSaquesErrados.Text = "Num. Saque Errados: " + Conta.NumeroSaquesErrados.ToString
lblTransferErrados.Text = "Num. Transfer. Errados: " + Conta.NumeroTransferenciasErrados.ToString
vStack = ex.StackTrace
vStack += ex.InnerException.StackTrace
MsgBox("Saldo insulficiente: " + ex.Message + " - Erro original Interno: " + ex.InnerException.Message)
Catch ex As ValorSacadoMenorSaldoException
lblSaquesErrados.Text = "Num. Saque Errados: " + Conta.NumeroSaquesErrados.ToString
lblTransferErrados.Text = "Num. Transfer. Errados: " + Conta.NumeroTransferenciasErrados.ToString
vStack = ex.StackTrace
vStack += ex.InnerException.StackTrace
MsgBox("Saldo insulficiente: " + ex.Message + ". Valor da Transferencia de " + ex.ValorSacado.ToString + ". Saldo de " + ex.Saldo.ToString)
Catch ex As ArgumentException
lblSaquesErrados.Text = "Num. Saque Errados: " + Conta.NumeroSaquesErrados.ToString
lblTransferErrados.Text = "Num. Transfer. Errados: " + Conta.NumeroTransferenciasErrados.ToString
vStack = ex.StackTrace + vbCrLf
vStack += ex.InnerException.StackTrace
MsgBox("Ocorreu um erro: " + ex.Message)
End Try
End Sub
Porque estaria ocorrendo isto sendo que acompanhei a aula e não consegui ver se deixei passar algo.