มันยังคง astounds ฉันว่าในวันนี้และอายุผลิตภัณฑ์ที่มีปีของการใช้งานภายใต้เข็มขัดของพวกเขาสร้างขึ้นโดยทีมงานมืออาชีพยังคงไปในวันนี้ - ไม่ให้ข้อความผิดพลาดที่เป็นประโยชน์ให้กับผู้ใช้ ในบางกรณีการเพิ่มข้อมูลเพิ่มเติมเพียงเล็กน้อยอาจช่วยให้ผู้ใช้ไม่ต้องประสบปัญหาอีกต่อไป
โปรแกรมที่สร้างข้อผิดพลาดสร้างขึ้นด้วยเหตุผล มีทุกสิ่งที่จำเป็นเพื่อแจ้งให้ผู้ใช้ทราบถึงสาเหตุที่ทำให้เกิดข้อผิดพลาด และดูเหมือนว่าการให้ข้อมูลเพื่อช่วยเหลือผู้ใช้มีความสำคัญต่ำ ฉันคิดว่านี่เป็นความล้มเหลวครั้งใหญ่
ตัวอย่างหนึ่งมาจาก SQL Server เมื่อคุณลองและกู้คืนฐานข้อมูลที่ใช้งานอยู่มันจะไม่ถูกต้องนัก SQL Server รู้ว่ากระบวนการและแอปพลิเคชันใดกำลังเข้าถึง เหตุใดจึงไม่สามารถรวมข้อมูลเกี่ยวกับกระบวนการที่ใช้ฐานข้อมูลได้ ฉันรู้ว่าทุกคนไม่ส่งApplicatio_Name
แอตทริบิวต์ในสตริงการเชื่อมต่อของพวกเขา แต่แม้แต่คำแนะนำเกี่ยวกับเครื่องที่เป็นปัญหาอาจมีประโยชน์
ตัวเลือกอื่นเช่น SQL Server (และ mySQL) คือstring or binary data would be truncated
ข้อความแสดงข้อผิดพลาดที่น่ารักและรายการเทียบเท่า บ่อยครั้งที่การอ่านคำสั่ง SQL อย่างง่าย ๆ ที่สร้างขึ้นและตารางแสดงว่าคอลัมน์ใดเป็นผู้ร้าย นี่ไม่ใช่กรณีเสมอไปและหากเอ็นจิ้นฐานข้อมูลหยิบขึ้นมาบนข้อผิดพลาดทำไมมันไม่สามารถช่วยเราได้ในเวลานั้นและเพียงแค่บอกเราว่ามันเป็นคอลัมน์ใด ในตัวอย่างนี้คุณสามารถยืนยันว่าอาจมีการแสดงที่มีประสิทธิภาพในการตรวจสอบและสิ่งนี้อาจเป็นอุปสรรคต่อผู้เขียน ใช่ฉันจะซื้อมัน เมื่อกลไกจัดการฐานข้อมูลรู้ว่ามีข้อผิดพลาดจะทำการเปรียบเทียบอย่างรวดเร็วหลังจากความจริงระหว่างค่าที่จะถูกจัดเก็บเทียบกับความยาวคอลัมน์ จากนั้นแสดงให้ผู้ใช้เห็น
Adaptors Table ที่น่ากลัวของ ASP.NET ก็มีความผิดเช่นกัน สามารถดำเนินการค้นหาและสามารถได้รับข้อความแสดงข้อผิดพลาดที่บอกว่าข้อ จำกัด บางแห่งกำลังถูกละเมิด ขอบคุณสำหรับสิ่งนั้น เวลาเปรียบเทียบแบบจำลองข้อมูลของฉันกับฐานข้อมูลเนื่องจากผู้พัฒนาขี้เกียจเกินกว่าที่จะให้หมายเลขแถวหรือข้อมูลตัวอย่าง (สำหรับบันทึกฉันไม่เคยใช้วิธีการเข้าถึงข้อมูลนี้โดยทางเลือกมันเป็นเพียงโครงการที่ฉันได้รับมา!)
เมื่อใดก็ตามที่ฉันโยนข้อยกเว้นจากรหัส C # หรือ C ++ ของฉันฉันจะมอบทุกอย่างที่ฉันมีให้กับผู้ใช้ การตัดสินใจถูกโยนทิ้งไปดังนั้นยิ่งฉันให้ข้อมูลได้มากเท่าไหร่ก็ยิ่งดีเท่านั้น ทำไมฟังก์ชั่นของฉันถึงมีข้อยกเว้น? สิ่งที่ผ่านเข้ามาและสิ่งที่คาดหวัง? ฉันใช้เวลาเพียงเล็กน้อยในการใส่สิ่งที่มีความหมายไว้ในเนื้อหาของข้อความแสดงข้อยกเว้น นรกมันไม่ทำอะไรนอกจากช่วยฉันในขณะที่ฉันพัฒนาเพราะฉันรู้ว่ารหัสของฉันขว้างสิ่งที่มีความหมาย
อาจมีการยืนยันว่าข้อความข้อยกเว้นที่ซับซ้อนไม่ควรแสดงต่อผู้ใช้ ในขณะที่ฉันไม่เห็นด้วยกับสิ่งนั้นมันเป็นข้อโต้แย้งที่สามารถทำให้สบายใจได้โดยการใช้คำฟุ่มเฟือยในระดับที่แตกต่างกันขึ้นอยู่กับงานสร้างของคุณ ถึงกระนั้นก็ตามผู้ใช้ ASP.NET และ SQL Server ไม่ใช่ผู้ใช้ทั่วไปของคุณและต้องการบางสิ่งที่เต็มไปด้วยข้อมูล verbosity และ yummy เพราะพวกเขาสามารถติดตามปัญหาได้เร็วขึ้น
ทำไมนักพัฒนาถึงคิดว่าไม่เป็นไรในยุคนี้เพื่อให้ข้อมูลขั้นต่ำเปล่าเมื่อเกิดข้อผิดพลาด?
มันเป็น 2,011 คนมาใน