3

我找不到任何关于如何阅读exception.logMagento 的文档;关于如何阅读的文档在哪里?

如果没有文档,打印例外的顺序是什么?

#0 是最后发生还是先发生?

Stack trace:
#0 .../html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 .../html/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 .../html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 .../html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('select eav_opti...', Array)
#4 .../html/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('select eav_opti...', Array)
#5 .../html/app/code/local/FME/Manufacturers/Model/Observer/Product.php(47): Varien_Db_Adapter_Pdo_Mysql->query('select eav_opti...')
#6 .../html/app/code/core/Mage/Core/Model/App.php(1338): FME_Manufacturers_Model_Observer_Product->saveTabData(Object(Varien_Event_Observer))
#7 .../html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(FME_Manufacturers_Model_Observer_Product), 'saveTabData', Object(Varien_Event_Observer))
#8 .../html/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#9 .../html/app/code/core/Mage/Core/Model/Abstract.php(466): Mage::dispatchEvent('catalog_product...', Array)
#10 .../html/app/code/core/Mage/Catalog/Model/Product.php(548): Mage_Core_Model_Abstract->_afterSave()
#11 .../html/app/code/core/Mage/Core/Model/Abstract.php(319): Mage_Catalog_Model_Product->_afterSave()
#12 .../html/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php(714): Mage_Core_Model_Abstract->save()
#13 .../html/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_Catalog_ProductController->saveAction()
#14 .../html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('save')
#15 .../html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#16 .../html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#17 .../html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#18 .../html/index.php(91): Mage::run('', 'store')
#19 {main}
4

2 回答 2

3

这是一个常规的 PHP异常堆栈跟踪;它不是特定于 Magento 的。

第 #0 行告诉我们,110文件的行lib/Varien/Db/Statement/Pdo/Mysql.php成功地调用了方法Zend_Db_Statement_Pdo->_execute(),但随后执行该方法的命令之一导致抛出Exception.

简单地说,堆栈跟踪只是方法/函数调用的列表,当抛出异常时,应用程序正处于执行过程中。

代码执行从 #19 {main}(堆栈底部)开始。

  • #18,{main}一直执行到
    方法被Mage::run()调用
    91index.php

  • #17,Mage::run()一直执行到
    方法被Mage_Core_Model_App->run()调用
    683app/Mage.php



  • #1,Zend_Db_Statement->execute()一直执行到
    方法被Varien_Db_Statement_Pdo_Mysql->_execute()调用
    300lib/Zend/Db/Statement.php

  • #0,Varien_Db_Statement_Pdo_Mysql->_execute()一直执行,直到在 的行中调用
    方法,但是该方法的某些命令导致抛出异常。Zend_Db_Statement_Pdo->_execute()
    110lib/Varien/Db/Statement/Pdo/Mysql.php

作为旁注,我通常不会说堆栈跟踪是“沿着失败的函数列表向下移动”,就像@pzirkind 在他的回答中提到的那样。

因为如果在#0(堆栈顶部)中调用的方法不会“失败”,那么之前调用的许多方法仍然可以按预期工作(而且很多通常都可以,至少根据我的经验),甚至catch被抛出例外。

于 2012-08-15T02:15:25.870 回答
2

零最后发生了。

正在发生的事情是它正在失败的功能列表中下降。它从失败的实际功能开始,然后向您展示它如何继续导致其他事情失败(如果存在更深层次的问题,这将更容易追踪)。

逾越节

于 2012-08-14T19:10:42.333 回答