2011-11-08 60 views
0

我有一個方法可以執行sql查詢並返回一個值。如果爲空,則會引發異常。代碼可以按預期的方式工作,但似乎有更乾淨的方法來實現它?或者是?如果sqlite查詢爲空則引發異常

def get_song(self, number): 
    db_cursor.execute("select * from songs where Id = ?", number) 
    song = db_cursor.fetchone() 
    if song: 
     return song 
    else: 
     raise ValueError 

回答

0

爲真正的聲明並不能改善你的代碼(你只是想保證它不是假),你可以保存一些線這樣做:

if song != True: 
    raise ValueError 

if song == Null: 
    raise ValueError 
+0

但是,True語句正在返回一個變量。或者我錯過了什麼? –

+0

該變量已被分配一行之前,返回不會更改其中的原始內容。 –