Skip to content

fix silent exceptions #101

@mikeias-silva

Description

@mikeias-silva

O driver pdo_dblib não se comporta como esperado quando o modo de erro está configurado para PDO::ERRMODE_EXCEPTION. Em cenários onde o Sybase retorna um erro, o driver não lança uma PDOException. Em vez disso, a mensagem de erro fica "escondida" e só pode ser acessada através de PDOStatement::errorInfo() após a leitura completa de todos os resultados.

Para contornar essa limitação do driver, é necessário implementar uma verificação manual de erros. A solução consiste em consumir todos os resultados, verificar explicitamente o conteúdo de PDOStatement::errorInfo(). Se o código SQLSTATE for diferente de "00000", lançar manualmente uma exceção com as informações de erro obtidas, garantindo que a falha seja tratada pela aplicação.

abaixo link do manual do PDOStatement:
https://www.php.net/manual/pt_BR/pdostatement.errorinfo.php

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions