Khối else khi bắt ngoại lệ trong Python
Vào cấu trúc try-except cũng có thể
thêm khối else. Điểm quan trọng cần lưu ý
là mã được đặt trong khối else sẽ hoạt động nếu trước đó trong
try-except không có ngoại lệ nào được bắt.
Giả sử chúng ta có một danh sách:
lst = [1, 2, 3]
Trong cấu trúc try-except, chúng ta sẽ viết
việc bắt ngoại lệ cho một phần tử không tồn tại
của danh sách:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Bây giờ hãy chỉ định trong khối else
việc in ra tổng của tất cả các phần tử trong danh sách:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Nếu mã trong khối try truy cập vào
một phần tử không tồn tại, thì trong console
sẽ xuất hiện thông báo lỗi:
'error: elem is not exist'
Bây giờ hãy đặt trong khối try việc in
một phần tử chắc chắn có trong danh sách:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Sau khi thực thi mã, trong console sẽ xuất hiện
hai số: phần tử được chỉ định trong try
và tổng của tất cả các phần tử trong danh sách:
1
6
Cho danh sách:
lst = [1, 2, 3]
Hãy viết mã để bắt ngoại lệ liên quan đến phép chia cho không. Trong trường hợp ngoại lệ này không xuất hiện, hãy in ra độ dài của danh sách.