Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ความแตกต่างระหว่าง Compile-time Error และ Runtime Error ในภาษา C

ข้อผิดพลาดในการเขียนโปรแกรม

ข้อผิดพลาด (Error) คือสาเหตุที่ทำให้โค้ดทำงานไม่สำเร็จ จำแนกได้ 2 ประเภทหลักตามเวลาที่เกิดขึ้น

ตารางเปรียบเทียบ

ลำดับหัวข้อCompile-time ErrorsRuntime Errors
1อ้างอิงข้อผิดพลาดด้านไวยากรณ์ (Syntax) หรือความหมาย (Semantics)ข้อผิดพลาดที่เกิดระหว่างรันโปรแกรม
2การตรวจจับคอมไพลเลอร์ตรวจพบขณะเขียนโค้ดคอมไพลเลอร์ไม่จับได้ พบตอนรันโปรแกรม
3การแก้ไขแก้ไขได้ขณะพัฒนาโค้ดแก้ไขได้หลังรันและพบข้อผิดพลาด

ตัวอย่าง Compile-time Error

#include <stdio.h>

int main() {
    int x = 100;
    int y = 155;
    // ขาด semicolon
    printf("%d", (x, y))
}

ผลลัพธ์

error: expected ';' before '}' token

ตัวอย่าง Runtime Error

#include <stdio.h>

int main() {
    int n = 9;
    int div = 0;
    div = n / 0;  // หารด้วยศูนย์
    printf("result = %d", div);
}

ผลลัพธ์

warning: division by zero [-Wdiv-by-zero]
div = n/0;
// รันแล้วโปรแกรมจะ crash (Floating point exception)

สรุป: Compile-time error ป้องกันได้ตั้งแต่เขียนโค้ด Runtime error ต้องทดสอบการรันจึงจะรู้