Computer >> Máy Tính >  >> Lập trình >> Python

Python Thử ngoại trừ:Hướng dẫn từng bước

Câu lệnh try… Ngoại trừ trong Python bắt một ngoại lệ. Nó được sử dụng để kiểm tra mã lỗi được viết trong câu lệnh “try”. Nếu gặp lỗi, nội dung của khối “ngoại trừ” sẽ chạy.


Cách sử dụng Thử và Ngoại trừ trong Python

Bạn có thể muốn kiểm tra một khối mã cụ thể để đảm bảo nó hoạt động chính xác trước khi cho phép phần còn lại của chương trình chạy. Ví dụ:giả sử bạn đã viết một lượng lớn mã mới cho một chương trình. Bạn muốn đảm bảo rằng nó hoạt động trước khi để phần còn lại của chương trình chạy.

thử… khối ngoại trừ cho phép bạn kiểm tra mã của mình và xử lý một ngoại lệ nếu một ngoại lệ được nâng lên. Bạn có thể thêm các câu lệnh cuối cùng và các câu lệnh khác để chạy mã bổ sung tùy thuộc vào kết quả của lần thử… ngoại trừ khối.

Trong hướng dẫn này, chúng ta sẽ nói về cách sử dụng try và ngoại trừ trong Python. Chúng tôi sẽ đề cập đến một ví dụ để bạn có thể nhanh chóng bắt đầu sử dụng thử và ngoại trừ.

Trình làm mới lỗi và ngoại lệ trong Python

Trong Python, có hai loại lỗi bạn có thể gặp phải:lỗi cú pháp và lỗi ngoại lệ.

Lỗi cú pháp Python là một loại lỗi trả về khi bạn sử dụng sai cú pháp. Ví dụ:nếu bạn viết while True vòng lặp không có dấu hai chấm ở cuối chương trình sẽ báo lỗi.

Khi lỗi cú pháp xảy ra, chúng trả về tên tệp, số dòng và chỉ báo về vị trí có thể có lỗi.

Ngoại lệ là một loại lỗi trong đó mã có thể có cú pháp phù hợp nhưng vẫn chứa sự cố. Có nhiều loại ngoại lệ, nhưng một số loại phổ biến nhất bạn sẽ gặp bao gồm:ArithmeticError, ImportError, ZeroDivisionError, NameError và TypeError.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Hãy thử Python… ngoại trừ Câu lệnh

Câu lệnh try… but trong Python chạy mã trong câu lệnh “try”. Nếu mã này không thực thi thành công, chương trình sẽ dừng ở dòng gây ra lỗi và mã “ngoại trừ” sẽ chạy.

Khối thử cho phép bạn kiểm tra một khối mã để tìm lỗi. Khối ngoại trừ cho phép bạn xử lý lỗi bằng phản hồi do người dùng xác định.

Đây là cú pháp cho khối try… Ngoại trừ:

try:
	yourcode...
except:
	yourcode...

Bạn có thể gửi kèm theo bất kỳ mã Python hợp lệ nào trong câu lệnh try hoặc if.

thử… ngoại trừ Ví dụ Python

Dưới đây là một ví dụ về cú pháp cho try… Ngoại trừ các khối:

try:
	print(ourVariable)
except:
	print('Error returned')

Trong ví dụ trên, chúng tôi chưa khai báo biến Python ourVariable , nhưng chúng tôi cố gắng sử dụng nó trong khối thử của mình.

Nếu chúng tôi không thử… ngoại trừ các khối trong mã của chúng tôi, chương trình sẽ trả về thông báo lỗi. Mặc dù nhìn thấy thông báo lỗi là tốt trong quá trình gỡ lỗi, nhưng một người dùng thông thường có thể bối rối nếu họ thấy thông báo lỗi.

Bởi vì chúng tôi đã thử… ngoại trừ các khối, mã của chúng tôi biết phải làm gì khi gặp lỗi.

Đây là kết quả của mã của chúng tôi:

Error returned

thử… khối ngoại trừ cho phép bạn xử lý các ngoại lệ một cách duyên dáng. Bạn cũng có thể muốn triển khai một tính năng như lưu một ngoại lệ vào tệp nhật ký bằng cách sử dụng một gói như mô-đun ghi nhật ký của Python. Điều này sẽ cho phép bạn theo dõi các trường hợp ngoại lệ đã được nêu ra.

thử… ngoại trừ Python:Nhiều câu lệnh ngoại trừ

Bạn có thể lặp lại ngoại trừ các câu lệnh cho các loại lỗi khác nhau để kiểm tra nhiều trường hợp ngoại lệ. Điều này rất hữu ích nếu bạn nghi ngờ rằng một trong nhiều trường hợp ngoại lệ có thể được đưa ra nhưng bạn không chắc mình sẽ gặp phải trường hợp nào.

Đây là một ví dụ về thử… ngoại trừ các khối tìm kiếm NameError:

try:
	print(ourVariable)
except NameError:
	print('ourVariable is not defined')
except:
	print('Error returned')

Trong trường hợp này, mã của chúng tôi trả về ourVariable không được xác định bởi vì mã của chúng tôi trả về một NameError. Chúng tôi có thể thêm nhiều lỗi hơn, chẳng hạn như ZeroDivisionError hoặc OSError, tùy thuộc vào mã chúng tôi đang kiểm tra.

Ví dụ:bạn có thể kiểm tra IOError và FileNotFoundError nếu bạn muốn mở một tệp. Kiểm tra nhiều ngoại lệ sẽ đảm bảo chương trình của bạn có thể tiếp tục chạy ngay cả khi có lỗi khi mở tệp bạn tham chiếu.

thử… ngoại trừ Python:Cuối cùng

Nhưng điều gì sẽ xảy ra nếu chúng ta muốn một thông báo in cả hai nếu một lỗi được trả về và nếu không tìm thấy lỗi nào? Đó là nơi cuối cùng khối đi kèm. Nếu bạn xác định mệnh đề cuối cùng, nội dung của nó sẽ được thực thi bất kể khối try… Ngoại trừ có gây ra lỗi hay không.

Cuối cùng, các khối là một chỉ báo hữu ích mà bạn viết mã đã thực thi. Vì chúng không phân biệt được mã đã được thực thi thành công hay chưa, nên chúng không được sử dụng phổ biến.

Đây là một ví dụ:

try:
	print(ourVariable)
except:
	print('ourVariable is not defined')
finally:
	print('Code has been run.')

Chương trình của chúng tôi trả về như sau:

ourVariable is not defined
Code has been run.

Mã trong ngoại trừ khối thực thi vì có một ngoại lệ được tìm thấy trong mã của chúng tôi (ourVariable không được xác định). Mã trong cuối cùng mệnh đề cũng thực thi vì mã của chúng tôi đã chạy xong.

thử… ngoại trừ Python:Khác

Bằng cách sử dụng mệnh đề else, bạn có thể xác định mã sẽ được chạy trong trường hợp không có ngoại lệ nào được nêu ra. Ví dụ:điều này có thể được sử dụng để thông báo cho người dùng rằng một chương trình đã được thực thi thành công.

Hãy tưởng tượng nếu bạn đang tạo một hệ thống đăng ký cho một trò chơi. Bạn có thể bao gồm một khối thử… ngoại trừ… else để kiểm tra xem tên người dùng hoặc địa chỉ email mà người dùng chọn có hợp lệ hay không. Nếu không, mệnh đề ngoại trừ sẽ chạy. Nếu tên người dùng hoặc địa chỉ email hợp lệ, khối khác có thể chạy.

Đây là một ví dụ:

try:
	print('Test')
except:
	print('There is a problem.')
else:
	print('There are no problems.')

Mã của chúng tôi trả về như sau:

There are no problems.

Chương trình Python của chúng tôi không gặp phải trường hợp ngoại lệ nào. Do đó, mã trong else câu lệnh thực thi. The else tuyên bố in ra thông báo cho biết không có vấn đề gì với mã của chúng tôi.

Xem Repl.it từ hướng dẫn này:



Kết luận

thử… ngoại trừ các khối giúp dễ dàng gỡ lỗi mã Python của bạn. Một chương trình cố gắng chạy mã trong một khối "thử". Nếu điều này không thành công, khối "ngoại trừ" sẽ chạy. Mã trong câu lệnh “cuối cùng” sẽ chạy bất kể khối “ngoại trừ” có được thực thi hay không.

Trong hướng dẫn này, chúng tôi đã chia nhỏ cách sử dụng try… Ngoại trừ các khối. Chúng tôi đã thảo luận về cách sử dụng else ngoại trừ để tùy chỉnh việc xử lý ngoại lệ của bạn.

Các khối này có thể hữu ích khi bạn đang kiểm tra mã hiện có hoặc viết mã mới. Nó đảm bảo rằng chương trình của bạn chạy chính xác và không có lỗi.

Để biết thêm tài nguyên học Python, hãy xem hướng dẫn Cách học Python toàn diện của chúng tôi.