2 loại lỗi khi gỡ lỗi mã trong python là gì?

Các bạn đọc like ủng hộ MUO nhé. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm

Viết mã hoạt động mang lại cảm giác thỏa mãn. Nhưng thường thì ngược lại khi bạn gặp lỗi

Tuy nhiên, việc gỡ lỗi liên quan đến việc loại bỏ các lỗi trong mã khiến chương trình của bạn hoạt động theo cách mà bạn không mong muốn

Và như với bất kỳ ngôn ngữ lập trình nào khác, các lỗi có thể làm lãng phí thời gian quý báu khi viết mã bằng Python. Thật không may, bạn không thể tránh chúng. Vậy làm thế nào bạn có thể hiểu và đối phó với chúng?

Ngoại lệ Python là gì?

Bất cứ khi nào Python không thể diễn giải mã hoặc lệnh, nó sẽ đưa ra một ngoại lệ. Ngoại lệ Python là một tập hợp các lỗi phát sinh trong khi Python thực thi mã của bạn

Python đưa ra các ngoại lệ cho các lỗi bằng cách sử dụng khối thử và ngoại trừ. Các lệnh thực thi thường nằm trong khối thử

Nhưng khi mã bên trong thử không thành công, Python sẽ thực thi những mã bên trong khối ngoại trừ

Về bản chất, các câu lệnh bên trong từ khóa except là ngoại lệ đối với các câu lệnh trong khối thử và Python coi chúng là lỗi

Đôi khi, một thử. khối ngoại trừ có thể chứa một số ngoại lệ [ngoại trừ từ khóa]. Lúc nào cũng vậy, điều này dẫn đến một chuỗi lỗi. Và điều đó giải thích các lỗi chi tiết điển hình mà đôi khi bạn gặp phải trong Python

Các ngoại lệ có thể phát sinh khi bạn sử dụng hàm tích hợp, thư viện hoặc khung Python

Vì vậy, ngay cả khi bạn viết đúng cú pháp, việc không tuân theo quy tắc của các phương thức mà bạn đang cố gắng sử dụng sẽ dẫn đến các trường hợp ngoại lệ, điều này đôi khi có thể trở nên quá tải

Chẳng hạn, bạn có thể chỉ viết khoảng 5 dòng mã nhưng Python kiểm tra bằng lỗi ở dòng 200

Điều đó xảy ra vì Python đưa ra các ngoại lệ đã được xác định trước trong mã nguồn của thư viện, khung hoặc phương thức tích hợp sẵn mà bạn đang sử dụng

Lỗi cú pháp

Python phát sinh lỗi cú pháp mỗi khi bạn viết mã hoặc cú pháp mà nó không nhận ra. Chúng dễ theo dõi hơn các ngoại lệ chuyên sâu

Bạn có thể gặp lỗi cú pháp thường xuyên hơn nếu bạn là người mới bắt đầu sử dụng Python. Nhưng chúng rất dễ giải quyết khi bạn hiểu cách xử lý chúng

Cách gỡ lỗi mã Python của bạn

Có một số ngoại lệ trong Python. Chúng có thể bao gồm lỗi thụt lề, loại và tên, trong số những lỗi khác

Các ngoại lệ có thể phát sinh từ một dòng hoặc một khối mã bị lỗi. Thật không may, không có cách cụ thể để đối phó với các trường hợp ngoại lệ. Nhưng bạn có thể xử lý chúng dựa trên các phiên bản và loại dự án

Một số lỗi cũng đưa ra một số ngoại lệ cùng một lúc. Cuối cùng, bạn sẽ gặp phải những lỗi này thường xuyên hơn khi xây dựng các ứng dụng thực tế

Mặc dù các trường hợp ngoại lệ gây khó chịu, nhưng chúng không mất nhiều thời gian để tìm ra và giải quyết nếu bạn kiên nhẫn

Bạn có thể sử dụng bất kỳ hoặc kết hợp các phương pháp sau để gỡ lỗi Python

1. Kiểm tra Mô tả Lỗi

Một trong những cách tốt nhất để xử lý lỗi Python là kiểm tra mô tả lỗi. Python thường nêu điều này trên dòng cuối cùng của đầu ra lỗi của bạn

Chẳng hạn, EOF không mong muốn trong khi phân tích cú pháp luôn liên quan đến dấu ngoặc đơn bị thiếu. Tuy nhiên, cú pháp không hợp lệ có nghĩa là một cú pháp sai ở đâu đó, trong khi AttributeError xuất hiện khi bạn cố gọi một hàm sai từ một lớp hoặc một đối tượng

Có nhiều trường hợp ngoại lệ khác mà bạn có thể bắt gặp. Chỉ truy tìm dòng họ đến từ đâu và viết lại mã của bạn có thể là chìa khóa

2. Theo dõi dòng nơi xuất phát lỗi

Rất may, các lỗi được giới hạn dòng trong Python. Vì vậy, nếu bạn gặp lỗi, hãy chú ý đến dòng mà Python đang trỏ tới

Ví dụ: lỗi trong ví dụ bên dưới là lỗi loại vì mã cố nối các loại dữ liệu không giống nhau [một chuỗi và một số nguyên]

Tuy nhiên, lỗi đó chỉ đến dòng 2 trong mã ví dụ

Mã số

 db = open["output.txt", "a"]
a = "Hello"+1
b = "How do you do?"
db.write[a+", "+b+"\n"]

Lỗi

 raceback [most recent call last]:
  File "C:\Users\Omisola Idowu\Desktop\Lato\soup\new.py", line 2, in
    a = "Hello"+1
TypeError: can only concatenate str [not "int"] to str

Hãy xem một ví dụ lỗi khác bên dưới

Mã số

 def findTotal[a]:
for i in a
print[sum[i]*2]

Lỗi

 File "C:\Users\Omisola Idowu\Desktop\Lato\soup\new.py", line 2
    for i in a
             ^
SyntaxError: invalid syntax

Ở đây, Python đang chỉ vào một lỗi cú pháp trên dòng 2. Nếu bạn quen thuộc với Python, việc tìm ra dấu hai chấm bị thiếu sau vòng lặp for sẽ dễ dàng

3. Tận dụng phương pháp theo dõi trên dòng lệnh

Mặc dù bạn có thể gỡ lỗi Python bằng IDLE tích hợp sẵn, nhưng bạn sẽ không thể sử dụng nó khi làm việc với các dự án lớn hơn

Vì vậy, một trong những cách tốt nhất để gỡ lỗi Python là thông qua giao diện dòng lệnh [CLI]. Nó đồng nghĩa với việc chạy bàn điều khiển. nhật ký [] trong JavaScript

Nếu gặp lỗi trong quá trình thực thi mã, bạn có thể khởi chạy CLI của mình và chạy tập lệnh bị lỗi bằng lệnh theo dõi

Nó hoạt động bằng cách chạy kiểm tra trên từng dòng mã của bạn và chia nhỏ bất cứ nơi nào nó tìm thấy sự cố

Để sử dụng phương pháp này, hãy chạy tệp của bạn như thế này trong dòng lệnh của bạn

 python -m trace --trace file_name.py 

Mặc dù việc chạy toàn bộ tập lệnh của bạn như thế này là không thực tế, nhưng bạn có thể tạo một tệp Python riêng, dán từng khối mã [từng khối một] vào tệp đó, sau đó chạy riêng từng mã

Mặc dù đó không phải là điều bạn làm trong quá trình kiểm tra đơn vị, nhưng đây vẫn là một hình thức sửa lỗi đơn vị

4. Kiểm tra mã của bạn

Kiểm thử đơn vị liên quan đến việc cô lập một số đơn vị [khối hoặc dòng] trong mã của bạn và kiểm tra chúng để biết các số liệu như hiệu suất, hiệu quả và tính chính xác. Bạn có thể coi đây là một hình thức đảm bảo chất lượng trong lập trình

Ngoài các trường hợp ngoại lệ, lỗi đôi khi có thể xảy ra do sai boolean. Lỗi này có thể không gây ra lỗi nhưng có thể khiến chương trình của bạn hoạt động bất thường khi triển khai

Thử nghiệm đơn vị sử dụng một số kỹ thuật sửa lỗi để kiểm tra và lập hồ sơ mã của bạn về tính chính xác bằng cách sử dụng hàm khẳng định. Nó thậm chí có thể kiểm tra thời gian mã của bạn chạy, v.v.

Trong quá trình sản xuất, bạn có thể tạo một tệp Python riêng, thường được gọi là test. py và kiểm tra từng đơn vị mã của bạn bên trong tệp đó

Một bài kiểm tra đơn vị có thể trông như thế này

 data = {
"guitars":[
{"Seagull":"$260"},
{"Fender":"$700"},
{"Electric-acoustic":"$600"}
]
}

if len[data["guitars"]]==2:
for i in data["guitars"]:
print[i]
assert len[data["guitars"]]==2, "Length less than what's required, should be 3"

Vì độ dài của mảng nhỏ hơn 3 nên Python phát sinh lỗi xác nhận

 AssertionError: Length less than what's required, should be 3

5. Sử dụng nhật ký

Kiểm tra lỗi bằng nhật ký là một cách khác để gỡ lỗi mã của bạn. Python có một thư viện ghi nhật ký tích hợp. Nó hoạt động bằng cách nêu chi tiết cách chương trình của bạn chạy trong bảng điều khiển

Có liên quan. Cách gửi tin nhắn email tự động bằng Python

Tuy nhiên, việc ghi nhật ký sẽ hữu ích hơn khi chương trình của bạn đang trong giai đoạn triển khai. Tuy nhiên, mặc dù bạn không thể xem nhật ký trong bảng điều khiển khi ứng dụng của mình đang được triển khai, nhưng bạn có thể thiết lập Giao thức truyền thư đơn giản [SMTP] để nhận nhật ký mã của mình dưới dạng email

Bằng cách đó bạn biết tại điểm nào chương trình của bạn bị lỗi

6. Sử dụng Trình gỡ lỗi Python tiêu chuẩn

Python có một trình gỡ lỗi tích hợp phổ biến được gọi là pdb. Bởi vì nó được tích hợp sẵn, chỉ cần nhập pdb vào tệp thử nghiệm của bạn sẽ hoạt động

Mô-đun pdb rất hữu ích để gỡ lỗi các chương trình bị lỗi kết thúc đột ngột. Mô-đun hoạt động bằng cách thực thi mã của bạn sau khi chết [ngay cả sau khi chương trình của bạn gặp sự cố]

Bạn có thể chạy toàn bộ tệp Python hoặc đơn vị của nó bằng pdb. Khi pdb bắt đầu, bạn có thể sử dụng nó để kiểm tra từng dòng mã của mình để xem lỗi nằm ở đâu

Để bắt đầu với pdb, hãy mở tệp Python của bạn và bắt đầu trình gỡ lỗi như thế này

 import pdb; pdb.set_trace[] 

Sau đó, bạn có thể chạy tệp Python của mình qua CLI

________số 8

Bạn sẽ thấy mô-đun pdb trong dấu ngoặc đơn trong CMD của mình. Nhập h để xem danh sách các lệnh có sẵn cho pdb

 [pdb] h 

Đầu ra trông như thế này

Chẳng hạn, liệt kê từng dòng mã của bạn bắt đầu từ điểm bắt đầu

 raceback [most recent call last]:
  File "C:\Users\Omisola Idowu\Desktop\Lato\soup\new.py", line 2, in
    a = "Hello"+1
TypeError: can only concatenate str [not "int"] to str
0

7. Gỡ lỗi bằng IDE

Môi trường phát triển tích hợp [IDE] cũng là những công cụ có giá trị để gỡ lỗi tập lệnh Python của bạn

Ví dụ: Visual Studio Code với tính năng Chạy và Gỡ lỗi và plugin hỗ trợ ngôn ngữ có tên là Pylance, cho phép bạn chạy mã của mình ở chế độ gỡ lỗi. Pycharm là một IDE tuyệt vời khác có thể giúp bạn tìm lỗi trong mã của mình

Có liên quan. Trình chỉnh sửa mã miễn phí tốt nhất để viết ứng dụng của bạn

Eclipse cũng cung cấp một plugin của bên thứ ba có tên là Pydev để gỡ lỗi các tập lệnh Python của bạn một cách dễ dàng

8. Tìm kiếm giải pháp trên Internet

Internet cũng là một nguồn đáng tin cậy mà bạn có thể tìm đến để giải quyết các vấn đề với mã Python của mình, nhờ vào cộng đồng các nhà phát triển Python

Ví dụ: Stackoverflow là một cộng đồng lập trình phổ biến, nơi bạn có thể đặt câu hỏi và nhận câu trả lời. Bạn thậm chí sẽ thấy rằng hầu hết các vấn đề mà bạn có thể gặp phải đều đã có giải pháp của chúng trên nền tảng

Ngoài ra, YouTube chứa rất nhiều video mã hóa mà bạn có thể tận dụng

Debugging Is Beyond Getting Rid Of Errors

Lỗi là một phần không thể thiếu trong quá trình viết mã, nhưng biết cách xử lý chúng sẽ khiến bạn trở nên nổi bật và giúp bạn viết mã nhanh hơn. Tuy nhiên, gỡ lỗi không chỉ loại bỏ lỗi. Đôi khi, bạn thậm chí có thể có một mã đang hoạt động hoạt động kém;

Hai loại lỗi chính trong python là gì?

Có hai loại lỗi chủ yếu trong lập trình python là - Lỗi cú pháp và Lỗi logic hoặc Ngoại lệ . Bất cứ khi nào chúng ta không viết đúng cú pháp của ngôn ngữ lập trình python [hoặc bất kỳ ngôn ngữ nào khác] thì trình thông dịch python sẽ đưa ra một lỗi được gọi là lỗi cú pháp.

Những loại lỗi nào bạn có thể phải gỡ lỗi trong python?

Gỡ lỗi và các loại lỗi trong Python . Lỗi cú pháp, Lỗi thời gian chạy và Lỗi ngữ nghĩa .

Các loại lỗi gỡ lỗi là gì?

Vì những lý do bất thường, lỗi lập trình được gọi là lỗi và quá trình theo dõi chúng được gọi là gỡ lỗi. Ba loại lỗi có thể xảy ra trong một chương trình. lỗi cú pháp, lỗi thời gian chạy và lỗi ngữ nghĩa . Thật hữu ích khi phân biệt giữa chúng để theo dõi chúng nhanh hơn.

Gỡ lỗi và lỗi python là gì?

Công cụ Python tiêu chuẩn để gỡ lỗi tương tác là pdb , trình gỡ lỗi Python . Trình gỡ lỗi này cho phép người dùng duyệt qua từng dòng mã để xem điều gì có thể gây ra lỗi khó hơn. Phiên bản nâng cao IPython này là ipdb , trình gỡ lỗi IPython.

Chủ Đề