Hướng dẫn custom exception php - ngoại lệ tùy chỉnh php

Phần này trình bày các vấn đề liên quan đến Error và Exception trong PHP. PHP có cung cấp các cơ chế giúp bắt lỗi, giám sát các lỗi và xử lý các lỗi có thể xảy ra khi lập trình.

Nội dung chính ShowShow

  • Hàm die() và exit()
  • throw và lớp Exception
  • Sử dụng try ... catch ... để bắt ngoại lệ
  • Tạo các Exception riêng
  • Tạo exception_handler và error_handler riêng
  • set_exception_handler
  • set_error_handler

Hàm die() và exit()

throw và lớp Exception

exit ([$status])
//hoặc
exit ( int $status )

Sử dụng try ... catch ... để bắt ngoại lệ

Tạo các Exception riêng

throw và lớp Exception

Sử dụng try ... catch ... để bắt ngoại lệErrorException, ), trong PHP7 còn có thêm

6 Sau đó để phát sinh ngoại lệ để chương trình chuyển hướng theo ngoại lệ bạn cần cú pháp 
7, các lệnh tiếp sau 
8 trong một block sẽ không được thi hành. 

Tạo các Exception riêng

Tạo exception_handler và error_handler riêng

Sử dụng try ... catch ... để bắt ngoại lệ

Tạo các Exception riêng

try 
{
    //Khối lệnh mà có thể phát sinh Exception
} 
catch (Exception $e) 
{    
    //Khối lệnh bắt được Exception
}

Tạo exception_handler và error_handler riêng

Hàm

0 và 
1 là tương đương nhau. Gọi hàm này để dừng chương trình ngay lập tức. Cú pháp gọi hàm này như sau:

getMessage();
} 

2 là dòng trạng thái in ra trước khi thoát. Hoặc là một số nguyên được hiểu là trang thái khi thoát (0 - 255). 
3 cho biết chương trình thoát ra một cách bình thường (không lỗi).

getMessage();
} 
catch (ErrorException $e) { //khối 2
    echo 'Lỗi ErrorException:';
    echo $e->getMessage();
} 

Ví dụ, nếu không mở được file thì kết thúc chương trình:

Tạo các Exception riêng

Tạo exception_handler và error_handler riêng

getLine().' trong file '.$this->getFile();
        return $errorMsg;
    }
}
?>

//Lúc này MyExption có thể được tạo bằng
//$e = new MyExption("Thông báo lỗi");

Tạo exception_handler và error_handler riêng

Hàm 0 và 1 là tương đương nhau. Gọi hàm này để dừng chương trình ngay lập tức. Cú pháp gọi hàm này như sau:

2 là dòng trạng thái in ra trước khi thoát. Hoặc là một số nguyên được hiểu là trang thái khi thoát (0 - 255). 
3 cho biết chương trình thoát ra một cách bình thường (không lỗi).

getMessage(), "\n"; 
} 
 
set_exception_handler('exception_handler'); 
 
throw new Exception('Một ngoại lệ phát sinh'); 
 
echo "Sau lệnh throw nên không thi hành được\n"; 
?> 

set_error_handler

Ví dụ, nếu không mở được file thì kết thúc chương trình:

Lỗi: [$errno] $errstr - $error_file: $error_line";
    echo "
"; echo "Kết thúc!"; die(); } set_error_handler("handleError");

Khi lập trình, bạn cần phát sinh các ngoại lệ thì bạn cần tạo một đối tượng ngoại lệ từ lớp

4 hoặc một lớp nào đó mà kế thừa từ 
4 như (ErrorException, ), trong PHP7 còn có thêm 
6 Sau đó để phát sinh ngoại lệ để chương trình chuyển hướng theo ngoại lệ bạn cần cú pháp 
7, các lệnh tiếp sau 
8 trong một block sẽ không được thi hành.