btvn.vn
Tìm kiếm Đăng nhập

Đọc tên ngoại lệ để tìm chỗ sửa

Lưu trên thiết bị này
Lỗi và kiểm thử chương trình Python · Chọn bài khác

Mã lỗi là đầu mối, không phải lời giải tự động

Python thường cho biết dòng gây lỗi và tên ngoại lệ. Ví dụ `int("abc")` gây `ValueError` vì giá trị xâu không đổi được thành số nguyên; `[4, 7][2]` gây `IndexError` vì list dài 2 chỉ có chỉ số 0,1; `10 / 0` gây `ZeroDivisionError` vì mẫu số bằng 0. Tên ngoại lệ giúp khoanh vùng, nhưng vẫn phải kiểm dữ liệu và yêu cầu bài toán để sửa đúng. `print(chua_co)` khi tên `chua_co` chưa được gán gây `NameError`. `[1,2][1.5]` gây `TypeError` vì chỉ số list không phải số nguyên hay slice. Nếu nhập hai số từ `input()`, cần kiểm dạng, số lượng và mẫu số trước khi đổi kiểu và chia; không thể chữa mọi lỗi chỉ bằng đổi tên biến.

Bài luyện

Với `A = [4, 7]`, lệnh `print(A[2])` phát sinh gì?
Chọn một đáp án

Bài luyện

`print(chua_co)` khi chưa từng gán tên `chua_co` thường gây lỗi nào?
Chọn một đáp án

Bài luyện

Với `A = [1, 2]`, lệnh `A[1.5]` thường gây lỗi nào?
Chọn một đáp án

Bài luyện

Trước khi thực hiện `m / n` với n do người dùng nhập, kiểm tra nào trực tiếp tránh ZeroDivisionError?
Chọn một đáp án

Đang học