triangle-exclamationException

ชนกัณต์ อินทรสุวรรณ์ 640710502

Exception คืออะไร

Exception เป็นตัวจัดการข้อผิดพลาดที่เกิดขึ้นในตอนที่โปรแกรมทำงานอยู่ เพื่อให้โปรแกรมสามารถทำงานต่อไปได้ ปกติแล้วถ้าเกิดข้อผิดพลาดขึ้นโปรแกรมจะต้องหยุดทำงานทันที แต่การใช้ Exception สามารถกำหนดเป็นข้อยกเว้นให้โปรแกรมสามารถทำงานต่อไปได้และเพิกเฉยข้อผิดพลาดนั้นไป

Exception พื้นฐาน

Medthod
Description

getCode()

รับรหัสที่เกิดข้อผิดพลาด

getFile()

รับค่าไฟล์ที่เกิดข้อผิดพลาดขึ้น

getLine()

รับค่าบรรทัดที่เกิดข้อผิดพลาดขึ้น

getMessage()

รับค่าข้อความของข้อผิดพลาด

getTrace()

รับรายละเอียดในการตรวจจับข้อผิดพลาด

getTraceAsString()

รับรายละเอียดในการตรวจจับข้อผิดพลาดเป็น String

Try & Catch

คำสั่ง try เป็นส่วนการทำงานของโปรแกรมที่อาจจะเกิดข้อผิดพลาดขึ้น เมื่อเกิดข้อผิดพลาดโปรแกรมจะทำการ throw Exception ไปคำสั่ง catch สำหรับจัดการกับข้อผิดพลาดที่เกิดขึ้น

try {
    throw new Exception("Something went wrong!");
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

Output

อธิบายโค้ดPHP เป็นการจัดการข้อผิดพลาดโดยเริ่มการทำงานจาก try โดยใน try จะเป็นโค้ดของโปรแกรมที่คาดว่าจะเกิดข้อผิดพลาด เมื่อเกิดข้อผิดพลาดโค้ดจะ throw Exception ไปที่ catch เพื่อไปทำงานใน catch ต่อ

Finally

คำสั่ง finally เป็นคำสั่งที่จะทำงานทุกครั้ง ไม่ว่าโปรแกรมจะเกิดข้อผิดพลาดไหม โดยทั่วไปจะใช้กับการปิดการทำงานกับไฟล์ IO หรือการเชื่อมต่อกับฐานข้อมูล

Output

อธิบายโค้ดPHP เป็นการจัดการข้อผิดพลาดโดยเริ่มการทำงานจาก try โดยใน try จะเป็นโค้ดของโปรแกรมที่คาดว่าจะเกิดข้อผิดพลาด เมื่อเกิดข้อผิดพลาดโค้ดจะ throw Exception ไปที่ catch เพื่อไปทำงานใน catch ต่อ ในส่วนของ Finally จะทำงานเสมอไม่ว่าจะเกิดข้อผิดพลาดขึ้นหรือไม่

สรุป

ความแตกต่างของโค้ดระหว่าง PHP & Java

1.ใน PHP ใช้คำสั่ง echo ในการแสดงข้อความออกมาหน้าจอแต่ใน JAVA ใช้ System.out.println();

2.Syntax ใน PHP เป็นแบบ Dynamic ทำให้ง่ายและลดข้อจำกัดในการเขียนมากกว่า Java ที่เป็นแบบ Static

3.ใน Java ใช้ Exception e โดยไม่ต้องใช้ $ สำหรับการประกาศตัวแปร

ความแตกต่างของโค้ดระหว่าง PHP & C

1.ใน PHP ใช้ Try และ Catch ซึ่งเป็นโครงสร้างพื้นฐานสำหรับการจัดการกับข้อผิดพลาด

2.ใน C ไม่มี Try & Catch เลยต้องโค้ดจัดการข้อผิดพลาดโดยการReturnผลลัพธ์หรือใช้เทคนิคการส่งข้อความผ่าน pointer หรือค่าอื่นๆ เพื่อระบุว่ามีข้อผิดพลาดเกิดขึ้น

3.ใน C ไม่มี Finally ถ้าจะจำลอง Finally ไปใช้ใน C โดยเอามาเขียนแยกหลังจากทำการตรวจ Exception เสร็จ

4.ใน C มีความแตกต่างทาง Syntax อย่างมาก

ความแตกต่างของโค้ดระหว่าง PHP & Python

1.การ Throw ใน PHP จะใช้ throw new Exception(); แต่ใน python ใช้ raise Exception()

2.คำสั่ง catch ใน python ใช้ except แทน

3.การแสดงข้อความออกมาหน้าจอ PHP ใช้ echo ในขณะที่ python ใช้ print

4.Syntax ของ Python แตกต่างกับ PHP เล็กน้อย

Video Presentation

Slide Presentation

Reference

  • W3Schools. (1999-2024). PHP Exception. Retrieved from W3Schools:

- https://www.w3schools.com/php/php_exceptions.asparrow-up-right

  • PHP Documentation Group. (2024). PHP Manual Exception. Retrieved from PHP.net:

- https://www.php.net/manual/en/language.exceptions.phparrow-up-right

  • Marcuscode. (2017). PHP Exception. Retrieved from Marcuscode:

- https://marcuscode.com/lang/php/exceptionsarrow-up-right

  • W3Schools. (1999-2024). Java Exception. Retrieved from W3Schools:

- https://www.w3schools.com/java/java_try_catch.asparrow-up-right

  • Marcuscode. (2017). Java Exception. Retrieved from Marcuscode:

- https://marcuscode.com/lang/java/exceptionarrow-up-right

  • Stackoverflow. (2021). C Exception. Retrieved from Stackoverflow:

- https://stackoverflow.com/questions/2891766/how-can-i-throw-an-exception-in-carrow-up-right

  • W3Schools. (1999-2024). Python Exception. Retrieved from W3Schools:

- https://www.w3schools.com/python/python_try_except.asparrow-up-right

  • Marcuscode. (2017). Python Exception. Retrieved from Marcuscode:

- https://marcuscode.com/lang/python/exceptionsarrow-up-right

Last updated