Giới thiệu về lỗi

Python trung cấp dành cho nhà phát triển

Jasmin Ludolf

Senior Data Science Content Developer

Lỗi là gì?

  • Mã vi phạm một quy tắc
  • Error = Exception
  • Khiến chương trình dừng!

Phân cấp một số ngoại lệ Python

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Python trung cấp dành cho nhà phát triển

TypeError

  • Kiểu dữ liệu không tương thích
"Hello" + 5

Kết quả TypeError cho thấy không thể cộng chuỗi và số nguyên

Python trung cấp dành cho nhà phát triển

ValueError

float("Hello")

Kết quả ValueError xác nhận chuỗi 'Hello' không thể chuyển thành float

  • Giá trị ngoài phạm vi chấp nhận được
float("2")

Kết quả 2.0 không có lỗi

Python trung cấp dành cho nhà phát triển

Traceback

Thông báo traceback

Python trung cấp dành cho nhà phát triển

Traceback

Thông báo traceback làm nổi bật loại lỗi

Python trung cấp dành cho nhà phát triển

Traceback

Thông báo traceback làm nổi bật đoạn mã gây lỗi

Python trung cấp dành cho nhà phát triển

Mã trong package

  • Package chứa mã của người khác, ví dụ hàm tùy chỉnh
  • Gọi là mã nguồn
  • pip install <package> tải mã nguồn về môi trường cục bộ
  • Hàm pd.read_csv() của pandas thực thi mã của hàm tùy chỉnh đó ở hậu trường
Python trung cấp dành cho nhà phát triển

Traceback từ package

# Import pandas package
import pandas as pd

# Create pandas DataFrame                 
products = pd.DataFrame({"ID": "ABC1",
                         "price": 29.99})

# Try to access the non-existent "tag" column
products["tag"]
Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback khi cố lấy cột không tồn tại trong DataFrame của pandas

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback hiển thị tệp gây lỗi khi chạy, cùng loại lỗi KeyError

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback với dòng 3803 được tô sáng

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback với base.py được tô sáng

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback với KeyError được tô sáng

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback hiển thị dòng trong mã của chúng ta gây lỗi

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback hiển thị mã cố ý trả về lỗi

Python trung cấp dành cho nhà phát triển

Traceback từ package

Traceback với chữ Raised được tô sáng

Python trung cấp dành cho nhà phát triển

Ayo berlatih!

Python trung cấp dành cho nhà phát triển

Preparing Video For Download...