2011-11-08 13 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

変数は1行前にすでに割り当てられています。戻り値は元の内容を変更しません。 –

関連する問題