Hướng dẫn python return exception from function - python trả về ngoại lệ từ hàm
10 Show
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm. Giả sử tôi có chức năng sau:
Điều này sẽ tăng một ngoại lệ bất kể 4 có được xác định hay không.Thay vào đó nếu tôi thử điều này, nó không ném bất kỳ ngoại lệ nào:
Làm thế nào tôi có thể kiểm tra một giá trị cụ thể và trả về một ngoại lệ nếu nó được xác định và để trả về thành công nếu nó không được xác định? Hỏi ngày 4 tháng 9 năm 2018 lúc 2:14Sep 4, 2018 at 2:14
3 Nếu bạn muốn trả về lỗi dưới dạng chuỗi:
Nếu bạn muốn xảy ra lỗi:
Đã trả lời ngày 4 tháng 9 năm 2018 lúc 2:36Sep 4, 2018 at 2:36
Black Thunderblack ThunderBlack Thunder 6.4435 huy hiệu vàng29 Huy hiệu bạc57 Huy hiệu đồng5 gold badges29 silver badges57 bronze badges
Bạn có thể tránh không có lỗi khi sử dụng chức năng 5 được tích hợp từ điển. Nhận sẽ trả về 6 nếu giá trị tại khóa được chỉ định không tồn tại thay vì ném một ngoại lệ.Đã trả lời ngày 4 tháng 9 năm 2018 lúc 2:28Sep 4, 2018 at 2:28
Hãy thử cái này
Đã trả lời ngày 4 tháng 9 năm 2018 lúc 2:33Sep 4, 2018 at 2:33
Vinayvinayvinay 1.3201 Huy hiệu vàng13 Huy hiệu bạc22 Huy hiệu đồng1 gold badge13 silver badges22 bronze badges Nâng cao, trở lại và làm thế nào để không bao giờ thất bại trong Python. Tôi nghe câu hỏi này rất nhiều: Tôi có nêu ra hoặc trả lại lỗi này trong Python không? Câu trả lời đúng sẽ phụ thuộc vào các mục tiêu của logic ứng dụng của bạn. Bạn muốn đảm bảo mã Python của bạn không bị thất bại trong âm thầm, cứu bạn và đồng đội của bạn khỏi phải săn lùng các lỗi cố thủ sâu sắc.ensure your Python code doesn’t fail silently, saving you and your teammates from having to hunt down deeply entrenched errors. Ở đây, sự khác biệt giữa 7 và 8 khi xử lý các lỗi trong Python.Khi nào nên nâng cao
Sử dụng 7 Khi bạn biết bạn muốn có một hành vi cụ thể, chẳng hạn như:
Tăng một ngoại lệ chấm dứt dòng chảy của chương trình của bạn, cho phép ngoại lệ để bong bóng lên ngăn xếp cuộc gọi. Trong ví dụ trên, điều này sẽ cho phép bạn xử lý rõ ràng 1 sau. Nếu 1 không được xử lý, việc thực thi mã sẽ dừng và bạn sẽ nhận được một thông báo ngoại lệ chưa được xử lý.Nâng cao là hữu ích trong trường hợp bạn muốn xác định một hành vi nhất định sẽ xảy ra. Ví dụ: bạn có thể chọn không cho phép một số từ trong trường văn bản:
Raise có một ví dụ về một ngoại lệ, hoặc một dẫn xuất của lớp ngoại lệ. Dưới đây là tất cả các trường hợp ngoại lệ tích hợp Python. Nâng cao có thể giúp bạn tránh viết các chức năng thất bại âm thầm. Ví dụ: mã này sẽ không nêu ra một ngoại lệ nếu 3 không tồn tại:
Để khiến chức năng 4 thực sự phá sản, hãy thêm 7:
Bất cứ khi nào mã của bạn tương tác với một biến bên ngoài, mô -đun hoặc dịch vụ, có khả năng thất bại. Bạn có thể sử dụng 7 trong một tuyên bố 7 để giúp đảm bảo những thất bại đó không im lặng.Tăng trong >>> def test(): try: if x['error']:raise except Exception as err: return err >>> test() NameError("name 'x' is not defined",) 8 và >>> def test(): try: if x['error']:raise except Exception as err: return err >>> test() NameError("name 'x' is not defined",) 9Để xử lý một lỗi có thể xảy ra bằng cách thực hiện một hành động nếu có, hãy sử dụng tuyên bố 8 ____ ____29. 0Điều này cho phép bạn 2 trước khi tái tạo ngoại lệ. Nếu bạn muốn tuyên truyền một ngoại lệ bị bắt, hãy sử dụng 7 mà không có tranh luận để tránh mất dấu vết ngăn xếp.Nếu bạn không biết rằng ngoại lệ sẽ là 4, bạn cũng có thể sử dụng 5 hoặc bắt bất kỳ dẫn xuất nào của lớp 6 với 7. Bất cứ khi nào có thể, nó tốt hơn để nâng cao và xử lý các ngoại lệ một cách rõ ràng.Sử dụng 8 cho mã để thực thi nếu 8 không tăng ngoại lệ. Ví dụ:
1Bạn cũng có thể đặt dòng in trong khối 8, tuy nhiên, điều này ít rõ ràng hơn.Khi nào trở lạiKhi bạn sử dụng 8 trong Python, bạn sẽ trả lại một giá trị. Một chức năng trở về vị trí mà nó được gọi từ.Mặc dù nó thành ngữ nhiều hơn so với các lỗi 7 trong Python, nhưng có thể có những lúc bạn tìm thấy 8 để được áp dụng nhiều hơn.Ví dụ: nếu mã Python của bạn tương tác với các thành phần khác không xử lý các lớp ngoại lệ, bạn có thể muốn trả lại một tin nhắn thay thế. Ở đây, một ví dụ sử dụng tuyên bố 8 ____ ____29: 2Lưu ý rằng khi bạn trả về một đối tượng lớp 6, bạn sẽ nhận được một đại diện cho giá trị liên quan của nó, thường là mục đầu tiên trong danh sách các đối số của nó. Trong ví dụ trên, đây là lời giải thích chuỗi của ngoại lệ. Trong một số trường hợp, nó có thể là một tuple với thông tin khác về ngoại lệ.Bạn cũng có thể sử dụng 8 để đưa ra một đối tượng lỗi cụ thể, chẳng hạn như với 8 trong Django. Ví dụ: bạn có thể muốn trả lại 9 thay vì 0 vì lý do bảo mật: 3Sử dụng 8 có thể giúp bạn viết mã ồn ào một cách thích hợp khi chức năng của bạn dự kiến sẽ trả lại một giá trị nhất định và khi tương tác với các yếu tố bên ngoài.Phần quan trọng nhấtThất bại im lặng tạo ra một số lỗi khó chịu nhất để tìm và sửa chữa. Bạn có thể giúp tạo trải nghiệm phát triển dễ chịu cho chính mình và nhóm của bạn bằng cách sử dụng 7 và 8 để đảm bảo rằng các lỗi được xử lý trong mã Python của bạn.ensure that errors are handled in your Python code.Tôi viết về thực tiễn phát triển tốt và cách cải thiện năng suất như một nhà phát triển phần mềm. Bạn có thể nhận được những lời khuyên này ngay trong hộp thư đến của bạn bằng cách đăng ký bên dưới! Chúng ta có thể trả lại một ngoại lệ từ một chức năng trong Python không?Sử dụng Raise để ném các ngoại lệ trong Python Nếu bạn có một điều kiện cụ thể trong chức năng của mình sẽ làm hỏng chương trình của bạn (nếu/khi điều kiện đó được đáp ứng), bạn có thể nêu ra một ngoại lệ bằng cách sử dụng câu lệnh RAISE và cung cấp một đối tượng ngoại lệ để nâng cao.
If you have a specific condition in your function that should loudly crash your program (if/when that condition is met) you can raise an exception by using the raise statement and providing an exception object to raise.
Làm cách nào để trả lại một lỗi ngoại lệ trong Python?Là một nhà phát triển Python, bạn có thể chọn ném một ngoại lệ nếu xảy ra điều kiện.Để ném (hoặc nâng cao) một ngoại lệ, hãy sử dụng từ khóa nâng cao.use the raise keyword.
Làm thế nào để bạn nắm bắt một ngoại lệ trong Python?Bắt các trường hợp ngoại lệ trong Python trong Python, các ngoại lệ có thể được xử lý bằng cách sử dụng câu lệnh thử.Hoạt động quan trọng có thể tăng một ngoại lệ được đặt bên trong mệnh đề thử.Mã xử lý các ngoại lệ được viết trong mệnh đề ngoại trừ.using a try statement. The critical operation which can raise an exception is placed inside the try clause. The code that handles the exceptions is written in the except clause.
Nâng cao trong Python trở lại?Bạn không thể nâng cao và trả lại, nhưng bạn có thể trả về nhiều giá trị, trong đó giá trị thứ nhất giống như những gì bạn hiện đang sử dụng và thứ hai cho biết một ngoại lệ có phát sinh trả về đúng hay không. , but you could return multiple values, where the first is the same as what you're currently using, and the second indicates if an exception arose return True, sys. |