Khác nhau giữa try/catch và try/except

HustReMw

VIP Members
20/12/2016
251
544 bài viết
Khác nhau giữa try/catch và try/except
Hi các bạn. Mình thấy một số điều khá hay về try catch và try except, hôm nay mình muốn chia sẻ với các bạn!

1700043315400.png

Try/cacth là của chuẩn của C++, để bắt các exception của C++. Try/except được thiết kế để bắt các exception của windows.

Vậy khi nào sử dụng, và nên sử dụng cái nào?

Khi bạn lập trình thuần C++, không có tý dính dáng gì đến code WinAPI của windows (lập trình trên linux chẳng hạn) hoặc bạn biết trước được các loại exception C++ cần bắt thì bạn nên sử dụng chuẩn try/catch.

Khi bạn lập trình C/C++ trên hệ điều hành windows mà bạn không thể lường trước được hết các loại exception. Bạn nên sử dụng try/except

Mình có một ví dụ nho nhỏ để giúp các bạn nắm được mụch đích muốn nói của mình :D

Như các bạn thấy ở hình bên dưới. Exception của mình tạo ra là: Gán giá trị cho một con trỏ trỏ tới vùng memory null. Và mình tạo ra 2 khối bắt exception, một của windows, một của chuẩn C++. Kết quả là chỉ có khối try/except của windows bắt được exception loại này. Các bạn có thể debug đoạn code dưới để chứng mình điều này :D.

upload_2017-7-28_19-53-0.png


Theo quan điểm cá nhân của mình: Chúng ra nên bắt try/except khi lập trình C/C++ trên môi trường windows, sẽ giúp chúng ta kiểm soát được lỗi rộng hơn try/cacth. Nhất là các project lớn, chúng ta không thể lường trước được hết các lỗi, việc bắt ngoại lệ rộng là rất hữu ích :)

Các bạn có góp ý hoặc quan điểm khác xin được chỉ giáo ạ! Đây chỉ là quan điểm chủ quan của mình :D Xin nhận mọi gạch đá ạ!
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Theo mình càng bắt ngoại lệ rộng bao nhiêu càng chứng tỏ lập trình viên yếu kém bấy nhiêu bởi anh ta không biết chương trình của mình hoạt động như thế nào, có những ngoại lệ gì có thể xảy ra và không thể xảy ra.
:D Mình nghĩ đối với các dự án lớn nhiều thành viên tham gia. Sao kiểm soát được hết bạn
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên