Mục lục:
- 1 Mở cửa sổ tệp Python.
- 2Tìm mã sau vào cửa sổ - nhấn Enter sau mỗi dòng:
- Bạn thấy một cửa sổ Python Shell mở. Ứng dụng yêu cầu người dùng nhập vào một số nguyên.
- Ứng dụng sẽ hiển thị thông báo lỗi và hỏi xem bạn có muốn thử lại không.
- Ứng dụng yêu cầu bạn nhập lại toàn bộ số.
- Ứng dụng lại hiển thị thông báo lỗi và hỏi xem bạn có muốn thử lại không.
- Ứng dụng kết thúc. Lưu ý rằng thông báo là một từ ngoại lệ bên trong. Ứng dụng không bao giờ được ngoại lệ bên ngoài vì trình xử lý ngoại lệ bên trong cung cấp xử lý ngoại lệ chung chung.
- Bạn thấy một cửa sổ Python Shell mở. Ứng dụng yêu cầu người dùng nhập vào một số nguyên.
- Ứng dụng kết thúc. Lưu ý rằng thông báo là một từ ngoại lệ bên ngoài. Trong các bước precious, người dùng kết thúc ứng dụng bằng cách nhấn một phím ngắt. Tuy nhiên, ứng dụng sử dụng hai trình xử lý ngoại lệ khác nhau để giải quyết vấn đề.
Video: From C to Python by Ross Rheingans-Yoo 2025
Đôi khi bạn cần đặt một thủ tục xử lý ngoại lệ trong một quy trình khác trong một quá trình gọi là làm tổ. Khi bạn tổ chức các thói quen xử lý ngoại lệ, Python cố gắng tìm một trình xử lý ngoại lệ ở cấp độ lồng nhau trước tiên và sau đó chuyển sang các lớp bên ngoài. Bạn có thể tổ chức các thói quen xử lý ngoại lệ như sâu để làm mã của bạn an toàn.
Một trong những lý do phổ biến hơn để sử dụng mã xử lý ngoại lệ hai lớp là khi bạn muốn nhận dữ liệu từ người dùng và cần đặt mã nhập vào trong vòng lặp để đảm bảo rằng bạn thực sự có được thông tin bắt buộc. Các bước sau minh họa cách thức sắp xếp mã này có thể hoạt động.
1 Mở cửa sổ tệp Python.
Bạn thấy một trình soạn thảo, trong đó bạn có thể gõ mã ví dụ.
2Tìm mã sau vào cửa sổ - nhấn Enter sau mỗi dòng:
TryAgain = Đúng trong khi TryAgain: try: Giá trị = int (input ("Nhập một số nguyên")) trừ ValueError: print ("You phải gõ một số nguyên! ") try: DoOver = input (" Hãy thử lại (y / n)? ") ngoại trừ: print (" OK, see you next time! ") TryAgain = False else if if (str. DoOver = False trừ KeyboardInterrupt: in ("Bạn đã nhấn Ctrl + C!") In ("Xem bạn lần sau!") TryAgain = Sai khác: print (Giá trị) TryAgain = Sai > Mã bắt đầu bằng cách tạo một vòng lặp đầu vào. Sử dụng các vòng cho loại mục đích này thực sự khá phổ biến trong các ứng dụng bởi vì bạn không muốn ứng dụng kết thúc mỗi khi một lỗi đầu vào được thực hiện. Đây là một vòng lặp đơn giản, và thông thường bạn tạo một chức năng riêng biệt để giữ mã.
Trường hợp ngoại lệ của ValueError có thể xảy ra khi người dùng mắc lỗi. Bởi vì bạn không biết tại sao người dùng nhập sai giá trị, bạn phải hỏi nếu người dùng muốn thử lại. Tất nhiên, nhận được nhiều đầu vào từ người sử dụng có thể tạo ra một ngoại lệ. Các thử bên trong … ngoại trừ khối mã xử lý đầu vào thứ cấp.
3Chọn Run → Run Module.
Bạn thấy một cửa sổ Python Shell mở. Ứng dụng yêu cầu người dùng nhập vào một số nguyên.
Ứng dụng sẽ hiển thị thông báo lỗi và hỏi xem bạn có muốn thử lại không.
5Tìm Y và nhấn Enter.
Ứng dụng yêu cầu bạn nhập lại toàn bộ số.
6Type 5. 5 và nhấn Enter.
Ứng dụng lại hiển thị thông báo lỗi và hỏi xem bạn có muốn thử lại không.
Ứng dụng kết thúc. Lưu ý rằng thông báo là một từ ngoại lệ bên trong. Ứng dụng không bao giờ được ngoại lệ bên ngoài vì trình xử lý ngoại lệ bên trong cung cấp xử lý ngoại lệ chung chung.
8Chọn Run → Run Module.
Bạn thấy một cửa sổ Python Shell mở. Ứng dụng yêu cầu người dùng nhập vào một số nguyên.
9Nhấn Ctrl + C, Cmd + C, hoặc một tổ hợp phím khác để ngắt ứng dụng.