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

Apr 27, 2020 | Bài thực hành, Blog | 0 comments

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é!

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

BÀI VIẾT LIÊN QUAN

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

GỌI NGAY 

098 953 44 58

Nhận tư vấn, định hướng 1-1

Điền và gửi thông tin cá nhân để được tư vấn miễn phí về các chương trình học.

9 + 11 =