Le 23/07/2020 à 18:17, Cerulean a écrit :
Thank you very much for the detailed reply Guilherme. I really
appreciate you taking the time to explain things and help me!
> We effectively create the proper values, but we also schedule them
for validation once the "code" is completed. Verification happens as
part of "processDeferred*" methods.
That makes complete sense to me. I've written a few parsers and
interpreters over the years– small potatoes stuff, but I understand
the different stages of validation involved.
> Your QueryException would be something like: [Semantical error] line
0, col 61 near 's.wrong FROM': Error: Class Submission has no field or
association named 'wrong'.
This is the part I'm just not seeing over here. Here's a full line
from the exception backtrace:
#1
/home/name/subfolder/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(771):
Doctrine\ORM\Query\Parser->semanticalError('line 0, col 9 n...', Array)
You can see the error message is truncated with ellipses just at the
word "near". That's what I see from the error dump on the loaded page,
and in the php error log file.
> I do feel however that something in your application is swallowing
the actual exception, and you only have visibility to the stack trace.
You are absolutely correct. If I wrap the erroneous DQL in a try/catch
block and print the exception's message myself, I do see the full
information. It shows everything I expected it should. That's
wonderful and will really help reduce my frustration.
Do you have any idea how to prevent Doctrine's error messages from
being truncated? I assume it's php's fault. I don't see any relevant
php setting, aside from "log_errors_max_len", but I don't think that
affects the stack backtrace. It's great to know this try/catch trick,
but it would be more convenient if php just showed the crucial part of
Doctrine's errors automatically.
Why are you trying to rely on the arguments in the backtrace (which are
indeed dumped in a compact form) to see the Doctrine error message ? The
argument passed to Parser::semanticalError gets set as the message of
the exception. If your error reporting renders the backtrace but drops
the error message, there is nothing we can do for you.
> We're always open for contributions!
Perhaps one day! I don't have the time for it now, but it would be
cool and gratifying to work on a project as useful and technically
interesting as Doctrine.
Thanks again for your help :)
Best,
~Martin Wierschin
--
Christophe | Stof
--
You received this message because you are subscribed to the Google Groups
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/doctrine-user/6f4d1d7c-ed66-eeca-f140-7ed4c92c0047%40notk.org.