3 ก.ย. 2554

บทเรียนที่ 2 รู้ได้ไงว่าเกิด Error

บทเรียนที่ 2 รู้ได้ไงว่าเกิด Error
           บางคนที่ลองเปิดจาวาสคริปที่เพิ่งทำขึ้น อาจพบว่ามี หน้าต่างอีกอันหนึ่งโผล่ออกมากลางจอ บอกว่ามี Error เกิดขึ้นและ บอกด้วยว่าเกิด Error ในจุดใดของสคริป แต่บางคนแม้ทำผิด หน้าต่าง Error อาจไม่ขึ้นมาก็ได้
           สำหรับผู้ใช้ Internet Exploror ให้ลากเมาส์ขึ้นไปที่เมนูข้างบน กดเลือก Tool แล้วกดเลือก Internet Option ที่เมนูด้านบน กดเลือก Advanced ดูในหัวข้อ Browsing ในช่องที่ตามด้วย Display a notification about every script error หากยังไม่มีเครื่องหมายถูกในช่องนี้ ให้คลิ๊กทำเครื่องหมายไว้ กด Apply ทางมุมขวาล่าง และ กด OK หากมีเครื่องหมายถูกอยู่แล้วให้ กด Cancel ออกไป เท่านี้ โปรแกรมก็จะแสดงจุดที่เราทำพลาดได้   อีกอย่างหนึ่งที่ควรปรับไว้ใน Internet option คือ คลิ๊กทำเครื่องหมายถูกไว้หน้า Disable script debugging เพื่อไม่ให้กล่องข้อความออกมารบกวนคุณ เมื่อมี Error ในโค้ดเกิดขึ้น

หากคุณใช้ Netscape Navigator เมื่อเกิด Error ขึ้น จะมีคำแนะนำบน status bar(แถบยาวๆด้านล่านของหน้าต่าง)
ตัวอย่าง error
ลอง copy โค้ดข้างล่างนี้ลงไปใน notepad แล้ว save ไว้นะครับ อย่างลืมว่าตั้งชื่อให้มีจุด html นะครับ
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD> <BODY> <SCRIPT LANGUAGE="javascript">
document.write("เว้นบรรทัดอย่างนี้ผิด
") </SCRIPT> </BODY>
</HTML>

เสร็จแล้วเปิดที่ save ไว้ ออกมาดู ใน IE(ต่อไปนี้จะเรียกสั้นๆแทน Internet Exploror นะครับ) จะมีหน้าต่างเล็กๆขึ้นมา ตอนล่างของหน้าต่างขึ้นว่า
Line: 5
Char: 38
Error: Unterminate string constant

ซึ่งมันหมายความว่าเกิด Error ในบรรทัดที่ 5 เวลานับบรรทัดให้นับจากบรรทัดแรกใน notepad ไล่ลงมาเรื่อยๆ จะพบว่าข้อความในบรรทัดนั้นคือ document.write("เว้นบรรทัดอย่างนี้ผิด
Char: 38 หมายถึงเกิด Error ในลำดับอักษร(รวมสระไทย)ที่ 38 เริ่มนับ 1 จากตัว d ครับ 2 ก็ตัว u ไปเรื่อยๆ จนถึง 38 ที่ ด เด็ก   ซึ่งเป็นจุดที่ผิดหลักการเขียนจาวาสคริป ดังที่กล่าวไว้ในบทเรียนที่แล้ว

ส่วน Error: Unterminate string constant บอกชนิดของ Error ที่เกิดขึ้นครับ(ซึ่งผมเองก็แปลไม่ค่อยออกง่ะ แต่พอประมาณได้ว่าเป็น Error ที่เกิดจากการจัดรูปแบบผิดพลาด อะไรทำนองนั้น(...แฮ่ๆ...ท่านผู้อ่านเสื่อมศรัทธาแน่เลย) แต่เพียงแค่ใช้บรรทัดที่เกิด Error ก็น่าจะพอเพียงที่จะดูว่าจุดไหนผิดแล้วทำการแก้ไขได้นะครับ อย่างกรณีนี้คุณก็กดปุ่ม Backspace(ปุ่มลบคำ) ให้รวมเป็นบรรทัดเดียวกันแล้ว ลองกด Refresh หน้าต่างที่ Error นั้นสิครับ เท่านี้ Error ก็จะหายไป เห็นตัวหนังสือขึ้นมาแทน เวลาผมเขียนจาวาสคริป ยาวๆหรือ html ผมก็ใช้วิธีนี้ล่ะครับ เขียนไป save ไป แวะไปกด Refresh ดูว่าทำดีรึยัง มี Error เกิดขึ้นรึเปล่า
กรณีที่ Error มากกว่า 1 จุด
           หากคุณทำผิด 2 จุด หน้าต่าง Error อาจขึ้นมาครั้งเดียวหรือ 2 ครั้ง หากผิด 8 จุด ก็จะขึ้นหน้าต่าง Error 8 หน้าต่างหรือน้อยกว่าให้คุณทยอยกด OK จนเพลินครับ แต่อย่าเพิ่งกลัวไปครับ นี่ถือว่าเป็นข้อดีของจาวาสคริปที่ยังอุตสาห์บอกว่าเราทำผิดตรงไหน การทำเขียนโปรแกรมอื่นๆหลายโปรแกรม มันไม่มาบอกอย่างนี้หรอกครับ เจ๊งแล้วเจ๊งเลย หาจุดผิดกันตาเหลือกแน่

บางครั้งมี Error ขึ้นมา 10 จุด แต่เพียงคุณแก้จุดแรกเพียงจุดเดียว Error ทั้ง 9 ก็จะหายไปด้วยครับ มันเหมือนส่งผลลูกโซ่ง่ะครับ วิธีป้องกัน Error ที่ดีที่สุดก็พูดง่ายๆ ครับ คือเขียนให้มันถูกหลักเข้าไว้ ต่อไปนี้ ทำๆไปคุณอาจเจอ Error ที่ขึ้นมาเป็นไม่จบสิ้น(ซึ่งผมเจอ อยู่บ่อยๆ ไม่ต้องกลัวครับ ก้มลงใต้โต๊ะ ปิดสวิตท์เครื่องมันไปเลย....เฮ้ย! ไม่ใช่...ผมจะบอกวิธีแก้ให้เองครับ)
แบบฝึกหัด
·         จงแก้ไขสคริปที่ Error เพียงจุดเดียว ใน Link ต่อไปนี้ให้ทำงานได้ตามปกติ(แสดงเวลาตอนเปิด)

กดที่นี่เพื่อไปสู่หน้าที่ Error
ข้อแนะนำ ::: ก่อนทำการแก้ไข คุณต้องดึงเอาโค้ดออกมาจาก web เสียก่อนโดยคลิ๊กขวาในหน้าว่างๆ ที่ Error นั้น กดเลือก View Source (หรือที่เมนู กด view แล้วกดเลือก View Source) จะขึ้นไฟล์ของ notepad ให้คุณ save ไฟล์นั้นลงเครื่อง แล้วเปิดขึ้นมาแก้ไขให้ถูกต้อง แล้ว save ทับ แก้จนกว่าจะถูกต้องโดยลบหรือเพิ่มเติมเพียงสัญลักษณ์ ห้ามเปลี่ยนเนื้อหา

อาจมีหลายส่วนของโค้ดที่คุณยังไม่รู้จัก แต่ยังไม่ต้องไปสนใจมันครับ วิธีการแก้ไขผมได้อธิบายไปในบทแรกแล้วครับ


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

 
;