2013-04-12 39 views
16

Tôi không thể tìm ra cách ghi lại ngoại lệ bằng Sphinx.Làm cách nào để ghi lại ngoại lệ bằng Sphinx

Tôi đã thử những điều sau đây:

def some_funct(): 
    """ 
    :raises: ExceptionType: Some multi-line 
     exception description. 
    """ 


def some_funct(): 
    """ 
    :raises: ExceptionType, Some multi-line 
     exception description. 
    """ 


def some_funct(): 
    """ 
    :raises ExceptionType: Some multi-line 
     exception description. 
    """ 


def some_funct(): 
    """ 
    :raises: 
     ExceptionType: Some multi-line 
      exception description. 
    """ 

Sphinx tiếp tục nói "danh sách Dòng kết thúc mà không có một dòng trống; unindent bất ngờ." Vậy làm cách nào để loại bỏ thông điệp và cách thích hợp để ghi lại có thể là nhiều ngoại lệ với tài liệu nhiều dòng?

Trả lời

19

Bạn có thể sử dụng một dấu gạch chéo để tiếp tục dòng:

def some_funct(): 
    """ 
    :raises ExceptionType: Some multi-line \ 
     exception description. 
    """ 

Cập nhật:

thụt dường như làm việc thay vì thoát dòng mới:

def some_funct(): 
    """ 
    :raises ExceptionType: Some multi-line 
     exception description. 
    """ 
+0

Tôi đã chỉnh sửa cú pháp một chút, Nhân sư dường như cho kết quả tốt nhất với điều đó. Tôi không thể không cảm thấy như dấu gạch chéo ngược là khá đáng sợ. – siebz0r

+0

Dường như dấu gạch chéo ngược không cần thiết nữa. Tôi đã cập nhật câu trả lời cho phù hợp. – siebz0r

+0

@ siebz0r: dấu gạch chéo ngược là một hack rất lớn, và sẽ xấu xí với trợ giúp (some_funct) chẳng hạn. Nó sẽ không hoạt động tốt trong mọi trường hợp. – lpapp

0

điều này cho tôi mọi thứ tốt đẹp.

bạn quên : Trước khi tên ngoại lệ

def some_funct(): 
    """ 
    :raise: 
     :IOException: a probleme occured 
         and it can't be passed 
    """ 
+0

Sử dụng này, Sphinx ngừng phàn nàn về sự thụt lề và đầu ra trông khá đẹp, nhưng tên ngoại lệ mất nó vỏ bọc. ví dụ. 'IOException' trở thành' Ioexception'. – siebz0r

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