Trang chủ » Blog » [Thực hành] Khai báo lớp exception tuỳ biến

[Thực hành] Khai báo lớp exception tuỳ biến

bởi CodeGym | 26/12/2023 17:15 | Bài thực hành | Blog

Mục đích

Luyện tập khai báo lớp exception tuỳ biến và xử lí ngoại lệ.

Mô tả- Khai báo lớp exception tuỳ biến

Trong phần này, chúng ta sẽ tạo một ứng dụng để minh hoạ cho trường hợp thực hiện phép chia. Phép chia chỉ hợp lệ khi mẫu số  0, còn ngược lại thì tung ra ngoại lệ.

  • Mẫu số bằng 0: Tung ra ngoại lệ: DivideByZeroException
  • Mẫu số khác 0: Thực hiện phép chia

Hướng dẫn

Bước 1: Khai báo lớp DivideByZeroException

class DivideByZeroException extends Exception {

    public function __toString()
    {
        return "Can't divide by zero";
    }
}

Bước 2: Định nghĩa hàm thực hiện phép chia

function divide($numerator, $denominator) {
    if ($denominator === 0) {
        throw new DivideByZeroException();
    }
    return $numerator / $denominator;
}

Trong hàm này, nếu mẫu số bằng 0 thì chúng ta tung ra ngoại lệ DivideByZeroException.

Bước 3: Sử dụng hàm divide() và quan sát kết quả

$result = divide(100, 5);
echo $result;
$result = divide(100, 0);
echo $result;

Kết quả:

20
Fatal error: Uncaught Can't divide by zero

Bước 4: Sử dụng khối lệnh try/catch để bắt ngoại lệ

try {
    $result = divide(100, 5);
    echo $result;
    $result = divide(100, 0);
    echo $result;
} catch (DivideByZeroException $e) {
    echo 'Có lỗi xảy ra: '. $e;
}

Kết quả:

20
Có lỗi xảy ra: Can't divide by zero

Nâng cấp: Hãy chỉnh sửa mã nguồn để không sử dụng các giá trị có sẵn như trên mà sử dụng các giá trị do người dùng nhập vào từ một form trên web.

Trên đây CodeGym đã cùng với bạn luyện tập khai báo các exception tuỳ biến và xử lí ngoại lệ. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

2 + 3 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM