Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

Sự khác biệt ngữ nghĩa chính xác giữa \Exception\RuntimeException trong PHP là gì? Khi nào chúng ta nên sử dụng cái trước và khi nào?

Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

Trig

9.8246 huy hiệu vàng55 Huy hiệu bạc106 Huy hiệu đồng6 gold badges55 silver badges106 bronze badges

Đã hỏi ngày 12 tháng 1 năm 2017 lúc 8:17Jan 12, 2017 at 8:17

Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

Sensorariosensorariosensorario

18.8K27 Huy hiệu vàng93 Huy hiệu bạc152 Huy hiệu Đồng27 gold badges93 silver badges152 bronze badges

11

Ngoại lệ là một lớp cơ sở của tất cả các trường hợp ngoại lệ trong PHP (bao gồm cả RunTimeException). Như tài liệu nói:

RunTimeException bị ném nếu xảy ra lỗi chỉ có thể tìm thấy khi chạy.

Điều đó có nghĩa là bất cứ khi nào bạn mong đợi một cái gì đó thường sẽ hoạt động, sẽ sai, ví dụ: phân chia theo số 0 hoặc chỉ mục mảng ngoài phạm vi, v.v. Bạn có thể ném RunTimeException.

Đối với ngoại lệ, nó là một ngoại lệ rất chung chung và tôi sẽ gọi nó là "phương sách cuối cùng". Bạn có thể thêm nó như một cái cuối cùng trong "thử" chỉ để chắc chắn rằng bạn đang xử lý tất cả các ngoại lệ.

Thí dụ:

try {
    //code...
} catch(RuntimeException $e) {
    echo ("RuntimeException..."); 
} catch(Exception $e) {
    echo ("Error something went wrong!"); 
    var_dump($e); 
}

Hy vọng nó là một rõ ràng bây giờ.

Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

yivi

37.8K18 Huy hiệu vàng96 Huy hiệu bạc121 Huy hiệu đồng18 gold badges96 silver badges121 bronze badges

Đã trả lời ngày 12 tháng 1 năm 2017 lúc 8:32Jan 12, 2017 at 8:32

4

Sự khác biệt duy nhất giữa hai người đó là ngữ nghĩa. \RuntimeException kế thừa từ \Exception. Về cơ bản không có sự khác biệt khác.

Bạn có thể tạo ra các ngoại lệ của riêng mình kế thừa từ cả hai trên, cách sử dụng phổ biến nhất là kế thừa từ \Exception.

Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

yivi

37.8K18 Huy hiệu vàng96 Huy hiệu bạc121 Huy hiệu đồng18 gold badges96 silver badges121 bronze badges

Đã trả lời ngày 12 tháng 1 năm 2017 lúc 8:32Jan 12, 2017 at 8:33

Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

Sự khác biệt duy nhất giữa hai người đó là ngữ nghĩa. \RuntimeException kế thừa từ \Exception. Về cơ bản không có sự khác biệt khác.Mateusz Woźniak

Bạn có thể tạo ra các ngoại lệ của riêng mình kế thừa từ cả hai trên, cách sử dụng phổ biến nhất là kế thừa từ \Exception.1 gold badge9 silver badges10 bronze badges

RunTimeException bị ném nếu xảy ra lỗi chỉ có thể tìm thấy khi chạy.

Điều đó có nghĩa là bất cứ khi nào bạn mong đợi một cái gì đó thường sẽ hoạt động, sẽ sai, ví dụ: phân chia theo số 0 hoặc chỉ mục mảng ngoài phạm vi, v.v. Bạn có thể ném RunTimeException.

Đối với ngoại lệ, nó là một ngoại lệ rất chung chung và tôi sẽ gọi nó là "phương sách cuối cùng". Bạn có thể thêm nó như một cái cuối cùng trong "thử" chỉ để chắc chắn rằng bạn đang xử lý tất cả các ngoại lệ.

Thí dụ:

Hy vọng nó là một rõ ràng bây giờ.Feb 2 at 14:39

yiviTRiG

9.8246 huy hiệu vàng55 Huy hiệu bạc106 Huy hiệu đồng6 gold badges55 silver badges106 bronze badges

37.8K18 Huy hiệu vàng96 Huy hiệu bạc121 Huy hiệu đồng

Đã trả lời ngày 12 tháng 1 năm 2017 lúc 8:32

Sự khác biệt duy nhất giữa hai người đó là ngữ nghĩa. \RuntimeException kế thừa từ \Exception. Về cơ bản không có sự khác biệt khác.Aug 23 at 11:48

Hướng dẫn php runtimeexception vs exception - php runtimeexception so với ngoại lệ

1