Olá Kevin, tudo bem?
Respondendo à sua pergunta, tratar uma exceção diretamente no método da aplicação não interfere em nenhum princípio do SOLID. Na verdade, é uma prática comum e muitas vezes necessária para garantir que a aplicação funcione corretamente.
No exemplo que você postou, o método "toWithdraw" está tratando a exceção "InsufficientBalanceException" usando um bloco try-catch. Isso é uma boa prática, pois permite que a aplicação trate a exceção de forma adequada e continue funcionando normalmente.