คำถามติดแท็ก error-handling

3
วิธีที่ถูกต้องสำหรับการจัดการข้อยกเว้นคืออะไร?
ใน Joomla core ฉันยังพบการโทรจำนวนมากเช่นนี้: // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } แต่ JError เลิกใช้แล้วตั้งแต่แพลตฟอร์มรีลีส 12.1 ดังนั้นฉันควรใช้ข้อยกเว้น PHP มาตรฐานอย่างไร

2
การจับข้อยกเว้น / ข้อผิดพลาดในการทำธุรกรรมฐานข้อมูล
ฉันใช้วิธีต่อไปนี้ใน joomla 2.5 และ 3 เพื่อรันการสืบค้นฐานข้อมูล - $database = JFactory::getDBO(); $database->setQuery $database->execute(); แต่ฉันจะจับข้อผิดพลาด / ข้อยกเว้นได้อย่างไรหากแบบสอบถามล้มเหลวด้วยเหตุผลใดก็ตามที่$database->getErrorNum()เลิกใช้แล้ว

3
ป้องกันข้อความแสดงข้อผิดพลาดจากการแสดง SQL
ในตารางของฉันฉันได้สร้างดัชนีใน 'col1' เพื่อป้องกันรายการที่ซ้ำกันซึ่งทำงานได้ดี แต่ข้อความแสดงข้อผิดพลาดที่เกิดขึ้นแสดงให้ผู้ใช้เมื่อพวกเขาพยายามที่จะเพิ่มรายการที่ซ้ำกันน่าจะเป็นปัญหาด้านความปลอดภัยเช่นกัน คำนำหน้าตาราง มีวิธีหยุด Joomla ไม่ให้แสดง SQL ในข้อความข้อผิดพลาดหรือไม่ ฉันได้ลองเปลี่ยนการตั้งค่าการรายงานข้อผิดพลาดในการกำหนดค่าทั่วโลก แต่ไม่มีผลเท่าที่ฉันสามารถบอกได้ ... ข้อความตัวอย่าง: ความผิดพลาด การบันทึกล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: รายการซ้ำ 'ทดสอบ' สำหรับคีย์ 'TestKey' SQL = INSERT INTO `jml_mycomp_tbl1` (` id ', `col1`,` ลำดับ', `state ',` created_by`) ค่า (0') 'ทดสอบ', '2', '1', '730')
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.