คำถามติดแท็ก exception

2
วิธีที่แนะนำในการโยนข้อยกเว้นใน Magento คืออะไร
วิธีการทั้งหมดต่อไปนี้ใช้ในวีโอไอพีคอร์ดังนั้นวิธีใดที่เป็นวิธีที่ต้องการ (หรือ "วิธีปฏิบัติที่ดีที่สุด") ล่าสุด? Mage::throwException('Some Message')- 732 ประเพณี throw new Exception('Some Message')- 419 ประเพณี throw Mage::exception('Vendor_Module', 'Some Message')- 94 ประเพณี (จำเป็นต้องสร้างVendor_Module_Exceptionชั้นเรียน)

3
การจัดการกับประเภท neutered นัยใน Magento
เพียงแค่สงสัยว่าถ้าใครมีกลยุทธ์ที่ดีกว่าที่ฉันเคยคิดไว้สำหรับการตรวจสอบประเภทให้อยู่ร่วมกับตัวจัดการข้อผิดพลาดที่กำหนดเองของ Magento โดยเฉพาะฉันสงสัยเกี่ยวกับ "ข้อผิดพลาดร้ายแรงที่ตรวจจับได้" ซึ่งถูกโยนในกรณีที่พารามิเตอร์ไม่ตรงกันพิมพ์ นี่คือตัวอย่างจากMageชั้นเรียน: /** * Write exception to log * * @param Exception $e */ public static function logException(Exception $e) { if (!self::getConfig()) { return; } $file = self::getStoreConfig('dev/log/exception_file'); self::log("\n" . $e->__toString(), Zend_Log::ERR, $file); } เนื่องจากตัวจัดการข้อผิดพลาดสิ่งใดที่สามารถส่งผ่านไปยังวิธีการรวมถึงZend_Date(ซึ่งจะทำงานได้ดี แต่ดูสับสนมากในบันทึกข้อยกเว้นของคุณ) หรือ a Mage_Core_Model_Appซึ่งอันที่จริงจะมีข้อผิดพลาดร้ายแรง เป็นไปได้ที่จะนำการตรวจสอบประเภทกลับมาใช้ใหม่ที่ด้านบนของวิธีการ$e instanceof Exceptionแต่กลยุทธ์ดังกล่าวเอาชนะวัตถุประสงค์ของการพิมพ์ดีด ข้อเสนอแนะคำแนะนำใด ๆ
15 error  exception 

2
การจัดการข้อยกเว้นใน Magento 2
ใน Magento 1 ฉันสามารถตรวจจับข้อยกเว้นและบันทึกลงในexception.logไฟล์โดยใช้Mage::logException($e); ตอนนี้ใน Magento 2 ฉันทำได้catch (\Exception $e)แต่ฉันจะทำอย่างไรกับข้อยกเว้นที่จับได้? ฉันจะเข้าสู่ระบบได้exception.logอย่างไร? หรือวิธีทั่วไปในการจัดการสิ่งนี้คืออะไร?

6
ฉันจะรับการแจ้งเตือนทางอีเมลสำหรับข้อยกเว้นได้อย่างไร
ฉันจะตั้งค่าการแจ้งเตือนทางอีเมลสำหรับข้อยกเว้นที่บันทึกหรือโยนลงบนเว็บไซต์ได้อย่างไร อัปเดต: มีบางคนแสดงความคิดเห็นเกี่ยวกับความจริงที่ว่าคุณอาจคาดหวังว่าจะได้รับอีเมลมากเกินไปหากคุณมีข้อยกเว้นทุกอย่างที่ส่งถึงคุณ ฉันมักจะชอบที่จะเก็บบันทึกข้อยกเว้นของฉันค่อนข้างเบา อะไรก็ตามที่เข้าไปในนั้นฉันมองว่าเป็นข้อยกเว้น หากเป็นไปตามที่คาดหวังว่าจะใช้งานได้และไม่ใช่ปัญหาฉันก็ชอบที่จะตรวจจับข้อยกเว้นอาจจะบันทึกมันไปยังไฟล์อื่น (อาจจะ system.log) หากจำเป็น แต่ไม่ได้บันทึกไว้ใน exception.log แต่ถ้าคุณมีเสียงรบกวนในข้อยกเว้นของคุณบันทึกว่าคุณไม่ต้องการทำความสะอาดคุณอาจจะไม่ต้องการทำสิ่งนี้
14 email  exception 

1
มีเหตุผลที่ดีที่จะใส่รหัสเดียวกันทั้งในลองและจับบล็อก?
ในไฟล์: app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Datetime.phpภายในrender()วิธีการดูเหมือนว่ามีการเรียกใช้รหัสเดียวกันทั้งในบล็อก try และ catch ข้อยกเว้นไม่ได้จัดการเลย ฉันอยากรู้ว่าเหตุผลอะไร (ถ้ามี) สำหรับการเขียนโค้ดเช่นนี้: try { $data = Mage::app()->getLocale() ->date($data, Varien_Date::DATETIME_INTERNAL_FORMAT)->toString($format); } catch (Exception $e) { $data = Mage::app()->getLocale() ->date($data, Varien_Date::DATETIME_INTERNAL_FORMAT)->toString($format); }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.