try กับ catch คืออะไร.... ใช้กันตอนไหน???
[hide=1]คําสั่ง try กับ catch นั้น เป็นคําสั่งที่เราจะเจอกันบ่อยเมื่อมาเขียน Java อ้าว... แล้วภาษาอื่นล่ะ ภาษาอื่นมันก็มี แต่อาจจะไม่ได้หยิบใช้บ่อยเหมือนกับ Java เพราะว่า Java มันมีมาพร้อมกับการเริ่มต้นเขียนของมัน คือ สมัยก่อน เราเขียน C, C++ กัน เขียน VB กัน เราก็ยังไม่เห็นการใช้ try กับ catch มากนัก อันนี้เกริ่นให้ฟังก่อน เพื่อให้เข้าใจว่ามันเป็นมาอย่างไร ถึงได้บอกว่าการใช้ try กับ catch นั้นเรามาเจอบ่อยเมื่อเข้าสู่การเรียน Java แต่ทําไมภาษาอื่นไม่ค่อยได้หยิบใช้.... ก่อนหน้าเราเล่นกันแต่ C/C++ หรือภาษาอื่นๆ Java ออกมาทีหลัง และอาจจะเป็นการนําเอาจุดบกพร่องของภาษารุ่นก่อนๆ มาปรับปรุงให้เป็นภาษาที่แกร่งขึ้น
เรื่องนี้ต้องดูกันให้ดีๆ เรื่อง try กับ catch เนี่ย... มันเป็นคําสั่งที่จะใช้ในการจับ Error มันไม่เหมือนกับ if นะครับ คือ ในภาษา Java มันจะมีการรายงานผลของข้อผิดพลาดในเวลาโปรแกรมทํางาน คือ เมื่อเราเรียกโปรแกรม java.exe และสั่งรันไฟล์ .class แน่นอน โอกาสที่จะเกิด Error ในตอนที่กําลังรันนั้นมันมีแน่ บางครั้งก็เกิดปัญหาในเวลาเราใส่ค่าไม่ถูกต้อง นั่นล่ะ โปรแกรมจะเกิดบั๊กและหยุดการทํางานเอาดื้อๆ ได้เหมือนกัน... ดังนั้น ใน Java จึงมีการสร้างกระบวนการตรวจจับ หรือดักจับข้อผิดพลาด คือ ถ้าเราดักจับข้อผิดพลาดที่คิดว่ามีโอกาสเกิดได้แล้วล่ะก็ เวลาเรารันโปรแกรมแล้วมันเกิดขึ้นจริงๆ โปรแกรมก็จะทํางานต่อไปได้ถูกมั้ยครับ... แต่ลองนึกสิครับ เวลาเรารันโปรแกรม มันก็ทํางานไปเรื่อยๆ แต่ถ้าหากมีจุดใดจุดหนึ่งรับข้อมูลเข้ามา แล้วข้อมูลนั้นมันมีปัญหา เช่น เอาไปคํานวณไม่ได้ นั่นล่ะ มันจะทําให้เกิด Error ในตอนรัน ซึ่งเป็นอะไรที่ร้ายแรงเอาเรื่องเหมือนกัน...
อย่างภาษาอื่นๆ เราจะตรวจจับว่าฟังก์ชั่นนี้ หรือฟังก์ชั่นนั้นมันทํางานได้ถูกต้องหรือไม่ เราก็จะดูจากค่า return ถูกมั้ยครับ เช่น ฟังก์ชั่น convert นี้
[code]int convert( int num )
{