2009-10-07 34 views
35

Thời gian chạy giữ nói với tôi:Làm thế nào để viết một khối thụt đầu dòng rỗng trong Python?

dự kiến ​​một khối thụt

Nhưng tôi không muốn viết gì bên trong tôi, ngoại trừ khối, tôi chỉ muốn nó bắt và nuốt các ngoại lệ.

+0

Bạn đang theo dõi hướng dẫn Python nào? Bạn đang cố gắng học Python từ đâu? –

+0

Tôi không làm theo bất kỳ hướng dẫn nào. Tất cả những gì tôi biết tôi nhận được từ tài liệu AppEngine –

Trả lời

84

Chỉ cần viết

pass 

như trong

try: 
    # Do something illegal. 
    ... 
except: 
    # Pretend nothing happened. 
    pass 

EDIT:. @swillden sẽ trả về một điểm tốt, tức là, đây là một ý tưởng khủng khiếp nói chung. Bạn nên, ít nhất, hãy nói

except TypeError, DivideByZeroError: 

hoặc bất kỳ loại lỗi nào bạn muốn xử lý. Nếu không, bạn có thể che giấu các vấn đề lớn hơn.

+8

Hãy cẩn thận với việc sử dụng thành ngữ đó như đã trình bày ở trên. Một "ngoại trừ" chung sẽ bắt bất kỳ ngoại lệ nào, bao gồm nhiều lỗi lập trình như tham chiếu các biến không xác định, vv và mệnh đề trống sẽ chỉ nuốt các ngoại lệ. Bạn có thể ẩn các vấn đề nghiêm trọng theo cách này. – divegeek

+0

Thành ngữ ví dụ tốt hơn có thể là "trong khi các hiệu ứng theo điều kiện: thông qua". Điều đó nói rằng, điều kiện với tác dụng phụ cũng có thể có mùi. – Steve314

+0

Trường hợp ngoại lệ rất tốn kém. Sử dụng chúng một cách khôn ngoan. – Austin

0

Tôi chưa bao giờ làm điều này trong mã lâu dài hơn, nhưng tôi thường xuyên làm điều đó như một placeholder

if some_expression: 
    True 
else: 
    do_something(blah) 

Chỉ cần dán một Đúng trong đó sẽ ngăn chặn các lỗi. Không chắc chắn nếu có bất cứ điều gì xấu về điều này.

+8

Không có gì sai với kỹ thuật đó, nhưng những tình huống này là lý do tại sao 'vượt qua' tồn tại ở nơi đầu tiên. – efotinis

+2

nó là xấu chỉ vì nó ném độc giả ra, nó hoàn toàn không thành ngữ. – u0b34a0f6ae

+1

Tôi thích Ture để vượt qua - bởi vì sự thật sẽ đặt bạn miễn phí;) –

Các vấn đề liên quan