0978359287
-
0383180086
niithanoi.education@gmail.com
Trang chủ
Giới thiệu
KHÓA HỌC
LẬP TRÌNH WEB FRONT END
LẬP TRÌNH WEB BACK END
LẬP TRÌNH WEB FULL STACK
LẬP TRÌNH MOBILE
LẬP TRÌNH GAME
ĐÀO TẠO DOANH NGHIỆP
KHÓA HỌC KHÁC
Tutorials
JAVA in 7 DAY
PHP in 7 DAY
PYTHON BASIC
JAVASCRIPT
THUẬT TOÁN
Tin tức
NIIT - ICT HÀ NỘI
CÔNG NGHỆ
SỰ KIỆN NỔI BẬT ICT
THỦ THUẬT CÔNG NGHỆ
TUYỂN DỤNG
Cảm nhận
Thư viện
Liên hệ
Đăng ký học
Trang chủ
Tutorials
Học Lập Trình Python
Hướng dẫn xử lý Exception trong Python
Ngày đăng: 27/04/2019 -
Cập nhật: 22/10/2020
Cỡ chữ
Chia sẻ
Mục Lục
1. Exception là gì?
2. Cơ chế xử lý Exception trong Python
3. Ví dụ về xử lý Exception trong Python
Tổng kết
1. Exception là gì?
Exception
: Là những lỗi xảy ra trong quá trình thực thi một chương trình (hay còn gọi là ngoại lệ), khiến chương trình bị dừng một cách đột ngột không như mong muốn.
Exception khiến thay đổi luồng thực thi bình thường của chương trình.
Khi một đoạn mã Python phát sinh ngoại lệ, ta cần xử lý ngoại lệ, nếu không chương trình sẽ bị dừng.
Hướng dẫn xử lý ngoại lệ (exception) trong Python
2. Cơ chế xử lý Exception trong Python
Cơ chế xử lý ngoại lệ của Python được cài đặt thông qua việc sử dụng các khối lệnh:
try
,
except
và
finally
.
Khối try
: Dùng để thử lỗi. Khối try sẽ chứa các đoạn mã có khả năng gây ra lỗi
Khối except
: Dùng để xử lý lỗi. Khối except sẽ chứa các đoạn mã xử lý lỗi được phát sinh trong khối try. Khối except có ý nghĩa giống như khối catch ở các ngôn ngữ khác như Java, C#
Khối finally
: Dùng để chứa các đoạn mã sẽ được thực thi cho dù chương trình có lỗi hay không. Khối này thường dùng để chứa các đoạn lệnh giải phóng tài nguyên sau khi thực thi xong chương trình, VD như đóng file, đóng kết nối đến CSDL v.v…
Cơ chế xử lý lỗi của Python như sau:
Nếu chương trình có lỗi,
khối try sẽ dừng lại
, và chương trình sẽ
chuyển đến khối except
để thực thi và xử lý lỗi.
Nếu chương trình có nhiều khối except, thì từng khối sẽ lần lượt được đánh giá theo thứ tự từ trên xuống dưới, khối nào xử lý được lỗi thì sẽ được thực thi.
Nếu chương trình không có lỗi, khối try sẽ được thực thi toàn bộ, chương trình không thực thi khối except.
Ta có thể sử dụng nhiều khối except sau khối try, trong trường hợp ta muốn xử lý nhiều loại lỗi khác nhau.
3. Ví dụ về xử lý Exception trong Python
Trong ví dụ
xử lý Exception
này, ta in ra giá trị của biến
age
trong
khối
try
. Biến
age
chưa được khai báo, vì vậy khi sử dụng sẽ có lỗi.
Trong chương trình, ta khai báo 2 khối
except
, một khối xử lý lỗi về tên biến (
NameError
), một khối xử lý lỗi nói chung.
try
:
print
(age)
except
NameError
:
print
(
"Bien age chua duoc dinh nghia"
)
except
:
print
(
"Co loi xay ra trong chuong trinh !"
)
> Muốn biết các loại ngoại lệ (như là
NameError
) trong Python là những gì thì xem
tại đây
.
Khi thực thi chương trình, ta thấy chương trình hiện thông báo lỗi như ta mong muốn.
Khối except đầu tiên được thực thi, vì ta chưa khai báo biến.
Cơ chế xử lý Exception trong Python - VD1
Nếu ta thay đổi lại chương trình, ta sẽ thấy thông báo lỗi khác.
Ở đây ta đã sửa lại chương trình, ta khai báo biến
age
, rồi in ra giá trị của biến
age
.
try
:
age
=
5
print
(
"age = "
+
age
)
except
NameError
:
print
(
"Bien age chua duoc dinh nghia"
)
except
:
print
(
"Co loi xay ra trong chuong trinh"
)
Tuy nhiên, trong bài này, ta đã cộng chuỗi sai, vì biến
age
thuộc kiểu
int
, lẽ ra ta phải chuyển thành kiểu string.
>
Lưu ý
: Khi nối chuỗi trong Python thì phải sử dụng
cùng kiểu dữ liệu
. Vì thế ta phải chuyển age thành kiểu
str
Ta thấy chương trình đã không thực thi khối except đầu tiên (vì không có lỗi này), mà chương trình đã thực thi khối except thứ hai.
Kết quả được hiển thị như hình bên dưới.
Cơ chế xử lý Exception trong Python - VD2
Ngoài ra, ta có thể sử dụng từ khóa
else
để định nghĩa một khối lệnh sẽ được thực thi nếu không có lỗi phát sinh.
Dĩ nhiên là hành động sau khi đã thực thi khối
try
.
Ví dụ:
try
:
print
(
"To be or not to be"
)
except
:
print
(
"Co loi xay ra !"
)
else
:
print
(
"Ket thuc chuong trinh"
)
Trong ví dụ này, ta đã sử dụng khối
try ... except
để minh họa việc xử lý lỗi.
Tuy nhiên, trong ví dụ này, khối
try
không có lỗi, vì vậy chương trình không thực thi khối
except
, mà sẽ thực thi khối
else
.
Kết quả của chương trình hiển thị khối
else
đúng như ta mong muốn
Kết hợp sử dụng Else để để xử lý ngoại lệ trong Python
Ví dụ về sử dụng khối finally trong Python
Trong ví dụ dưới đây, ta sử dụng khối
try ... except
và
finally
.
try
:
print
(x)
except
:
print
(
"Co loi xay ra trong chuong trinh"
)
finally
:
print
(
"Thuc thi khoi finally !"
)
Vì biến
x
chưa khai báo, nên có lỗi.
Chương trình sẽ thực thi khối
except
, sau đó sẽ thực thi khối
finally
, vì
khối finally
sẽ
luôn được thực hiện
, bất kể chương trình có xảy ra lỗi hay không có lỗi.
Kết quả của chương trình hiển thị đúng như ta mong muốn:
Cơ chế hoạt động của khối Finally khi xử lý ngoại lệ trong Python
Tổng kết
Như vậy bạn đã biết
cơ chế hoạt động
cũng như là
cách xử lý ngoại lệ trong Python
. Chúng ta sẽ còn sử dụng cơ chế này rất nhiều trong quá trình lập trình. Hãy cố gắng ghi nhớ nhé.
Chúc bạn
học Python
tốt!
TONY HÙNG CƯỜNG
Về trang trước
Gửi email
in trang
Chia sẻ
Bình luận Facebook
Cùng danh mục
1
Hướng dẫn cài đặt môi trường cho Python
2
Hướng dẫn phát triển chương trình Python đầu tiên
3
Hướng dẫn cài đặt và sử dụng PyCharm IDE trong Lập Trình Python
4
Hướng dẫn định nghĩa và sử dụng Function trong Python
5
Hướng dẫn sử dụng cấu trúc IF trong Python
6
Hướng dẫn sử dụng Vòng lặp trong Python
7
Hướng dẫn thao tác với String trong Python
8
Thao tác với file (Mở file, Đọc file, Ghi file, Xóa file) trong Python
9
Hướng dẫn Sử dụng và Thao tác với List trong Python
10
Hướng dẫn sử dụng và thao tác với Tuple trong Python
11
Hướng dẫn tạo và sử dụng Dictionary trong Python
12
Hướng dẫn lập trình với JSON trong Python
13
Hướng dẫn xử lý Exception trong Python
Tutorial
Học PHP trong 7 ngày
Học Lập Trình Python
Học Java trong 7 ngày
JavaScript
HTML
Thuật toán
CSS
JAVA OOP
SQL
Master Bigdata
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Gửi yêu cầu tư vấn thành công!
Tư vấn cho tôi ngay !
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
Gửi cho tôi
Đóng lại
Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
0978 359 287
-
0383 180 086
hello@niithanoi.edu.vn
Chọn khóa học
KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
KHÓA HỌC LẬP TRÌNH PHP WEB
Khóa học PHP Full stack [2023] cho người mới bắt đầu
Khóa học BIG DATA với Hadoop và Spark
Khóa học Lập trình Android tại Hà Nội
[Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
LẬP TRÌNH GAME
Khóa học Lập trình Game Unity
LẬP TRÌNH WEB FRONT END
KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
LẬP TRÌNH WEB BACK END
LẬP TRÌNH JAVA WEB VỚI FRAME WORK
Lập trình Web với Django
Lập trình PHP với Laravel Framework
CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
LẬP TRÌNH WEB FULL STACK
Khóa học Java Full stack (IJFD)
LẬP TRÌNH MOBILE
FRONT-END VỚI REACTJS VÀ REACT NATIVE
Lập trình Android Nâng cao
ĐÀO TẠO CHO DOANH NGHIỆP
KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
Khóa học Automation Testing Chuyên nghiệp
KHÓA HỌC DỰ ÁN
Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
KHÓA HỌC KHÁC
VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
VBA Excel Nâng cao
Khóa học JMeter: Performance Testing
Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký ngay
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!