Các loại lỗi phổ biến trong Python và cách xử lý

October 22, 2020

  Với những ai là dân công nghệ đều đã quá quen thuộc với khái niệm Python trong lập trình. Tuy nhiên quá trình thao tác không tránh khỏi các vấn đề trục trặc xảy ra, nhất là các bạn trẻ mới vào nghề. Vậy khi lỗi Python xảy ra khi nào và cách xử lý ra sao?

 

1.Các loại lỗi trong Python

 

  Để có thể xử lý những vấn đề chẳng may phát sinh trong khi lập trình, mọi người cần hiểu và phân biệt hai loại lỗi Python. Đó là lỗi cú pháp hoặc thực thi. 

 

1.1.Lỗi cú pháp

 

Lỗi cú pháp trong Python

 

  Lỗi cú pháp được gọi là Syntax Error. Nó sẽ bị phát sinh khi người lập trình viết code không đúng theo những quy tắc của ngôn ngữ Python. Bạn có thể hiểu đơn giản như thế này thông qua ví dụ sau. Lỗi cú pháp khi sử dụng hàm Print() sẽ được hiển thị nếu chẳng may quá trình thao tác người viết nhầm thành >>>print “hello”. 

 

 Ngay lập tức sẽ hiển thị thông báo rằng SyntaxError: Missing parentheses in call to 'print'. Did you mean print("hello")? Thực tế đối với Python 2 thì lệnh đã được viết chính xác. Tuy nhiên đến phiên bản Python 3 thì đây chính là một lỗi cú pháp điển hình. Lúc này ngôn ngữ lập trình sẽ chuyển hoá print() từ lệnh statement() thành hàm thông thường. Chính vì nguyên nhân này nên dân IT mới tiếp xúc Python cần lưu ý khi gọi hàm print() đúng cú pháp print('Hello world!’).

 

  Trong thực tế thì lỗi cú pháp chủ yếu xảy ra ở những ai mới và đang trong quá trình học. Tuy nhiên nhiều người có thâm niên lâu năm cũng thi thoảng viết code gõ nhầm lỗi Python. Ở phiên bản số 2 và 3 của loại ngôn ngữ lập trình này sẽ có sự khác biệt nên bạn cần lưu ý để tránh viết nhầm code.

 

  Ngoài ra, lỗi cú pháp sẽ được phát hiện nhờ vào trình thông dịch Python hay công cụ hỗ trợ IDE ngay trong lập trình. Do vậy khi phát hiện ra vấn đề, nó sẽ đưa thông báo tới bạn cùng thông tin đầy đủ về lỗi cũng như hướng sửa chữa. Thêm vào đó, vì đặc thù của Python nên dù có xuất hiện lỗi cú pháp, quá trình vẫn sẽ được thực thi file script và dừng lại ở vị trí sai code.

 

1.2.Lỗi thực thi
 

  Đây là loại lỗi sẽ gặp phải trong quá trình chạy chương trình sau khi hoàn thành viết code. Nó có tên là Runtime Error hay còn được hiểu theo cách gọi “Ngoại lệ” ( Exception). Ví dụ như trường hợp lập trình viên vô tình thực hiện phép chia cho 0 hay truy xuất file nào đó không tồn tại. Đó chính là lỗi thực thi liên quan đến vấn đề logic của chương trình đã viết. Có thể nói lỗi Python này thường khó phát hiện. Đặc biệt là không thể phát hiện ở trong thời gian viết code. Ngoài ra nó cũng chỉ được phát hiện trong lúc thực thi chương trình ở một số điều kiện nào đó

Lỗi thực thi trong Python
 

1.3.Lỗi đánh giá 

 

  Đây được xem là một lỗi Python đặc biệt có tên gọi là Assert Error. Nó sẽ xuất hiện khi giá trị của một công thức hay biểu thức không đạt. Ví dụ điển hình là yêu cầu nhập tuổi. Do đây cần sử dụng số nguyên dương, nhưng nếu người dùng nhập phải giá trị âm thì đó được xem là lỗi đánh giá.

 

2. Cách thức xử lý ngoại lệ mặc định của Python

 

  Cơ chế chung trong việc xử lý lỗi mà Python đưa ra chính là dừng chương trình ngay khi phát hiện ngoại lệ. Hệ thống sẽ đưa thông báo cùng chi tiết vấn đề mà nó đang gặp phải. Đây được xem là cách xử lý ngoại lệ mặc định Python. Bạn có thể hiểu ngắn gọn rằng Python sẽ thực hiện các thao tác như sau:

  • Ngay lập tức dừng thực thi chương trình khi xuất hiện lỗi Python

  • Tạo ra Object của Class Exception tương ứng trong mặc định

  • Báo lỗi cùng đầy đủ thông tin chi tiết về vị trí xuất hiện và loại lỗi gặp phải.

  Nhờ vậy các lập trình viên sẽ biết được chính xác vấn đề xảy ra. Qua đó bạn sẽ tìm được hướng giải quyết một cách nhanh chóng. Đây là phương pháp rất hữu ích trong lúc debug chương trình.

 

Nguồn: tổng hợp

Hình ảnh: tổng hợp

 

Có thể bạn quan tâm:  33 điều giúp nâng cao kỹ năng viết code của bạn

-------------------------------

JT1 - IT Recruitment Agency

Website: https://www.jt1.vn

Email: hi@jt1.vn

Điện thoại: +8428 6675 6685

Xem thêm các bài viết khác tại: https://www.jt1.vn/blog

Theo dõi chúng tôi tại: https://www.facebook.com/jt1asia/

 

 

 

 

 

 

 

Please reload

Recent Posts

Please reload

banner-top-it-job-right.gif

Archive

Please reload

Tags

Please reload

Related Posts

Please reload

+84 28 6675 6685

Ho Chi Minh City, Vietnam

  • White Facebook Icon
  • White LinkedIn Icon

©2020 by JOBTOWN LTD

JT1 logo.png