Because of the high reliance of XML files, I am having a very hard time figuring out the cause of this error when creating a custom admin grid:
Fatal error: Method Magento\Ui\TemplateEngine\Xhtml\Result::__toString() must not throw an exception in C:\wamp64\www\mage2\vendor\magento\module-ui\Component\Wrapper\UiComponent.php on line 0
I am trying to make an admin grid for the sales_shipment_item
table.
So far I have:
Used xdebug and put it within the
__toString()
method of the Result class, it does not show what the real error isI have
var_dump
-ed the variables within the__toString()
methodI have developer mode turned on in Magento 2
I have checked the
var/logs
and it shows nothing helpful
I have successfully made other admin custom grids, but trying to figure out the actual error is like a needle in a haystack. Has anyone found a better way of debugging these? I have looked over all the grid xml, di.xml
, and models and all looks ok.
Magento\Ui\TemplateEngine\Xhtml\Result::__toString()
, catch the exception and log it, or print it. It's what M2 should've done anyway.} catch (\Exception $e) { $this->logger->critical($e->getMessage()); $result = $e->getMessage(); }
, the error is what I have already posted. When I have had these errors before it usually has to do with missing di.xml injections but these are impossible to debug without just guessing, which is why I posted this question.