Xin chào tất cả mọi người, bài viết này mình xin trình bày về xử lý lỗi và Exception trong PHP, rất mong được sự theo dõi của mọi người
1] Xử lý lỗi
Xử lý lỗi là tiến trình phát hiện lỗi được tạo khi chạy mã của bạn và sau đó thực hiện các hành động thích hợp. Nếu bạn xử lý lỗi không chính xác, thì có thể dẫn đến nhiều kết quả không mong đợi
PHP 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 thiết lập chương trình
1. 1] Hàm chết[] và thoát[]
- Để bắt lỗi trong PHP ta có thể sử dụng hàm die[] hoặc hàm exit[]
- Khi sử dụng hàm die[] hoặc exit[], một thông báo sẽ được chụp ra và chương trình sẽ bị dừng lại
1. 2] Tự định nghĩa hàm để xử lý lỗi trong PHP
Để xác định hàm định nghĩa để xử lý lỗi, ta có thể sử dụng cú pháp
3Hàm xử lý lỗi tùy chỉnh phải có ít nhất hai tham số [error_level và errstr] bắt buộc, ngoài ra nó còn có thêm ba tham số [errfile, errline và errcontext] không bắt buộc, như được mô tả dưới đây
- sai lầm. Xác định mức độ lỗi, dưới dạng một số nguyên. Điều này tương ứng với hằng số cấp độ lỗi phù hợp [E_ERROR, E_WARNING,. ]
- errstr. Xác định lỗi thông báo dưới dạng chuỗi
- hồ sơ lỗi. Xoá tên tệp của lệnh trong trường hợp xảy ra lỗi
- sai lầm. Specify the number of lines that error
- bối cảnh sai. Xác định một mảng chứa tất cả các biến và giá trị của chúng tồn tại tại thời điểm xảy ra lỗi. Tham số này rất hữu ích để giải quyết lỗi
Các mức lỗi trong PHP
Ví dụ
Như vậy, chúng ta có tùy chọn chỉnh sửa thông báo lỗi cho thân thiện và rõ ràng hơn
2] Ngoại lệ
Ngoại lệ là một giải pháp quản lý lỗi kiểu hướng đối tượng
Nó là một lớp được xây dựng sẵn trong ngôn ngữ PHP
Một đối tượng ngoại lệ sẽ chứa các thông tin về nơi xảy ra lỗi [tên tệp, số dòng]
Một số từ khóa liên quan tới Ngoại lệ
- Thử. avalid code is aException in block in the block “try”. Nếu không xảy ra lỗi mã sẽ tiếp tục như bình thường. Tuy nhiên, nếu ngoại lệ xảy ra, thì một ngoại lệ sẽ bị ném ra
- Ném. Unable to active. Mỗi "ném" phải bao gồm ít nhất một khối "bắt"
- Chụp lấy. lấy ra một ngoại lệ và tạo ra một đối tượng chứa thông tin ngoại lệ
cú pháp
try
{
//Khối lệnh mà có thể phát sinh Exception
}
catch [Exception $e]
{
//Khối lệnh bắt được Exception
}
Ví dụ
- Hàm checkNum[] kiểm tra nếu một số lớn hơn 1. Nếu điều kiện ngoại lệ không chính xác được ném ra
- Hàm checkNum[] được gọi trong khối “try”
- Ngoại lệ trong hàm checkNum[] bị ném ra
- Khối “bắt” lấy ngoại lệ và tạo ra một đối tượng [$e] chứa thông tin ngoại lệ
- Thông báo lỗi từ ngoại lệ được lặp lại bằng cách gọi $e->getMessage[] từ đối tượng ngoại lệ
Trong ví dụ trên, hàm $e->getMessage được sử dụng để lấy thông báo lỗi. Dưới đây là một số hàm có thể được sử dụng từ lớp ngoại lệ trong PHP
- getMessage[]. Hiển thị tin nhắn ngoại lệ
- nhận được mã[]. Hiển thị các mã số là đại diện của các ngoại lệ
- có được file[]. Hiển thị tên tệp và đường dẫn nơi xảy ra lỗi
- theo hàng[]. Shows the exception lines
- getTrace[]. Hiển thị trả về thông tin truy tìm lỗi là một mảng tên tệp và dòng số
- getPrevious[]. Hiển thị các ngoại lệ trước khi xảy ra trường hợp hợp lệ tại
- getTraceAsString[]. Hiển thị một chuỗi các dấu vết của ngoại lệ như một chuỗi thay vì một mảng
4. Hiển thị toàn bộ ngoại lệ dưới dạng một chuỗi
2. 1 Tạo một lớp ngoại lệ tùy chỉnh Nếu lớp ngoại lệ mặc định chưa đủ dùng cho bạn, bạn có thể tạo ra các ngoại lệ riêng bằng cách kế thừa lớp ngoại lệ
- Chú ý, chỉ có phương thức khởi tạo
5 và
6 của Exception có thể ghi đè trong lớp kế thừa, còn lại các phương thức khác không thể ghi đè vì nó được định nghĩa là cuối cùng
Ví dụ
________số 82. 2] Xử lý nhiều ngoại lệ
- Nhiều ngoại lệ sử dụng nhiều khối thử. catch để cố gắng bắt các ngoại lệ đã bị ném ra
Ví dụ
2. 3] Thiết lập Xử lý ngoại lệ toàn cục Khi ứng dụng phát sinh ngoại lệ bằng lệnh ném, nếu ngoại lệ không bị bắt lại bằng khối lệnh thử. chụp lấy. thì ngoại lệ đó sẽ chuyển cho hàm xử lý ngoại lệ mặc định của PHP. Time if you want to create this default function, doing like after. Tạo hàm riêng xử lý ngoại lệ có dạng function my_Exception_handler[$Exception], sau đó sử dụng hàm set_Exception_handler['my_Exception_handler'] để đăng ký với PHP
Ví dụ
0Kết bài
Như vậy là trong bài này mình đã trình bày về xử lý lỗi và ngoại lệ trong PHP cám ơn tất cả mọi người đã theo dõi