copy Copy chevron-down
Advanced triangle-exclamation Exceptionชนกัณต์ อินทรสุวรรณ์ 640710502
Exception คืออะไร
Exception เป็นตัวจัดการข้อผิดพลาดที่เกิดขึ้นในตอนที่โปรแกรมทำงานอยู่ เพื่อให้โปรแกรมสามารถทำงานต่อไปได้ ปกติแล้วถ้าเกิดข้อผิดพลาดขึ้นโปรแกรมจะต้องหยุดทำงานทันที แต่การใช้ Exception สามารถกำหนดเป็นข้อยกเว้นให้โปรแกรมสามารถทำงานต่อไปได้และเพิกเฉยข้อผิดพลาดนั้นไป
Exception พื้นฐาน
รับค่าไฟล์ที่เกิดข้อผิดพลาดขึ้น
รับค่าบรรทัดที่เกิดข้อผิดพลาดขึ้น
รับค่าข้อความของข้อผิดพลาด
รับรายละเอียดในการตรวจจับข้อผิดพลาด
รับรายละเอียดในการตรวจจับข้อผิดพลาดเป็น String
คำสั่ง try เป็นส่วนการทำงานของโปรแกรมที่อาจจะเกิดข้อผิดพลาดขึ้น เมื่อเกิดข้อผิดพลาดโปรแกรมจะทำการ throw Exception ไปคำสั่ง catch สำหรับจัดการกับข้อผิดพลาดที่เกิดขึ้น
Copy try {
throw new Exception("Something went wrong!");
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
Copy public class Main {
public static void main(String[] args) {
try {
throw new Exception("Something went wrong!");
} catch (Exception e) {
System.out.println("Caught exception: " + e.getMessage());
}
}
}
Copy #include <stdio.h>
#include <string.h>
int throwException(char *error) {
strcpy(error, "Something went wrong!");
return -1;
}
int main() {
char errorMessage[50];
int status = throwException(errorMessage);
if (status == -1) {
printf("Caught exception: %s\n", errorMessage);
} else {
printf("No exception occurred.\n");
}
return 0;
} อธิบายโค้ดPHP เป็นการจัดการข้อผิดพลาดโดยเริ่มการทำงานจาก try โดยใน try จะเป็นโค้ดของโปรแกรมที่คาดว่าจะเกิดข้อผิดพลาด เมื่อเกิดข้อผิดพลาดโค้ดจะ throw Exception ไปที่ catch เพื่อไปทำงานใน catch ต่อ
คำสั่ง finally เป็นคำสั่งที่จะทำงานทุกครั้ง ไม่ว่าโปรแกรมจะเกิดข้อผิดพลาดไหม โดยทั่วไปจะใช้กับการปิดการทำงานกับไฟล์ IO หรือการเชื่อมต่อกับฐานข้อมูล
อธิบายโค้ด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
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