PHP มีระบบสองแบบขนานกันสำหรับปัญหา: errors แบบดั้งเดิม (warning, notice, fatal error) และ exceptions (แบบ object-based ที่ดักจับได้ด้วย try/catch) PHP สมัยใหม่รวมส่วนใหญ่นี้ไว้ภายใต้ลำดับชั้น Throwable และแนวปฏิบัติที่ดีจะนิยมใช้ exception
ระดับของ error แบบดั้งเดิม
E_NOTICE → minor issues (e.g. using an undefined variable) — script continues
E_WARNING → non-fatal problems (e.g. include of a missing file) — continues
E_ERROR / Fatal → serious errors (e.g. calling an undefined function) — script HALTS
E_DEPRECATED → use of deprecated features
