Fiquei com dúvida na função construtora. Por que se utilizou o parent::__construct($mensagem) ?
<?php
namespace Alura\Banco\Modelo\Conta;
use DomainException;
use Throwable;
class SaldoInsuficienteException extends DomainException
{
public function __construct(float $valorSaque, float $saldoAtual)
{
$mensagem = "Você tentou sacar $valorSaque, mas tem apenas R$ $saldoAtual em conta";
parent::__construct($mensagem);
}
}