Khi nào thì bạn không sử dụng try-ngoại trừ trong python

Câu lệnh try…except của 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ẽ được 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 chắc chắn rằng nó hoạt động trước khi để phần còn lại của chương trình chạy

Tìm trận đấu Bootcamp của bạn

  • Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
  • Truy cập học bổng độc quyền và các khóa học chuẩn bị
Chọn sở thích của bạn
Tên

Họ

Email

Điện thoại .


By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

thử…các 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êu ra. Bạn có thể thêm các câu lệnh cuối cùng và khác để chạy mã bổ sung tùy thuộc vào kết quả của khối try…ngoại trừ

Trong hướng dẫn này, chúng ta sẽ nói về cách sử dụng thử 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ừ

Giới thiệu về lỗi và ngoại lệ Python

Trong Python, có hai loại lỗi mà bạn có thể gặp phải. lỗi cú pháp và 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ụ bạn viết một vòng lặp While True mà không có dấu hai chấm ở cuối thì chương trình sẽ báo lỗi

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

Ngoại lệ là một loại lỗi trong đó mã có thể có cú pháp đúng 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 mà bạn sẽ gặp bao gồm. ArithmeticError, ImportError, ZeroDivisionError, NameError và TypeError

» THÊM.   JavaScript forEach Loops Made Easy

Python thử…ngoại trừ Tuyên bố

Câu lệnh try…ngoại trừ Python chạy mã bên dưới 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 lại ở 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ể đính kèm bất kỳ mã Python hợp lệ nào trong câu lệnh try hoặc except

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

Đây là một ví dụ về cú pháp cho khối try…ngoại trừ

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 ta không có các khối try…ngoại trừ trong mã của mình, 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 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 có các khối try…ngoại trừ, 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ử…các 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 ngoại lệ vào tệp nhật ký bằng 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 câu lệnh except 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 hữu ích nếu bạn nghi ngờ rằng một trong nhiều ngoại lệ có thể được nêu ra nhưng bạn không chắc mình sẽ gặp phải trường hợp nào

» THÊM.   Chuỗi ngược Python. Hướng dẫn từng bước

Đây là một ví dụ về các khối try…ngoại trừ 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 vì mã của chúng tôi trả về 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ã mà chúng tôi đang kiểm tra

Chẳng hạn, 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 mà bạn tham chiếu

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

Nhưng nếu chúng ta muốn một thông báo được in cả khi trả về lỗi và nếu không tìm thấy lỗi thì sao? . Nếu bạn xác định một 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à mã của bạn đã được thực thi. Bởi vì chúng không phân biệt được liệu mã có được thực thi thành công hay không, 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ã bên trong khối except thực thi vì có một ngoại lệ được tìm thấy trong mã của chúng tôi [Variable của chúng tôi không được xác định]. Mã trong mệnh đề cuối cùng cũng thực thi vì mã của chúng tôi đã chạy xong

"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "

Venus, Kỹ sư phần mềm tại Rockbot

Find Your Bootcamp Match

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

Bằng cách sử dụng mệnh đề khác, 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 đưa ra. Đ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 đã thực hiện thành công, chẳng hạn

» THÊM.   Python AttributeError. đối tượng ‘mô-đun’ không có thuộc tính ‘urlopen’ Giải pháp

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 khối try…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ệ 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 ngoại lệ. Kết quả là, mã trong câu lệnh khác thực thi. Câu lệnh khác 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 thay thế. nó từ hướng dẫn này



Sự 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 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" 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 khối try…ngoại trừ. Chúng ta đã thảo luận về cách sử dụng other và except để 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 toàn diện về Cách học Python của chúng tôi

1 Xếp hạng



Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK

Khi chúng tôi không sử dụng thử

Khối thử cho phép bạn kiểm tra lỗi của một khối mã. Khối ngoại trừ cho phép bạn xử lý lỗi. Khối khác cho phép bạn thực thi mã khi không có lỗi . Khối cuối cùng cho phép bạn thực thi mã, bất kể kết quả của khối thử và ngoại trừ.

Nên mọi chức năng đã thử

Khi bạn biết lỗi sẽ xảy ra là gì, hãy sử dụng try/ngoại trừ mục đích gỡ lỗi. Mặt khác, bạn không cần phải sử dụng try/ngoại trừ mọi chức năng .

Tại sao việc sử dụng ngoại trừ ngoại lệ lại không hữu ích?

Một nhược điểm khác của việc chuyển và bắt Ngoại lệ [hoặc để trống ngoại trừ ] là chúng ta sẽ không bao giờ biết được lỗi thứ hai khi có hai lỗi trong mã. The first error will always be caught first and we will get out of the try block.

Có thực hành xấu để sử dụng try

Đây không phải là một phương pháp lập trình tốt vì nó sẽ bắt tất cả các trường hợp ngoại lệ và xử lý mọi trường hợp theo cùng một cách . Chúng ta có thể chỉ định những ngoại lệ nào mà mệnh đề except nên bắt. Một mệnh đề try có thể có bất kỳ số lượng mệnh đề except nào để xử lý các ngoại lệ khác nhau, tuy nhiên, chỉ một mệnh đề sẽ được thực thi trong trường hợp xảy ra ngoại lệ.

Chủ Đề