2

raise条件が満たされない場合、終了せずにそれ以上のコードの実行を停止する方法として、Python 2.7 で functionを使用します。これを以下の例に示します。

from Tkinter import *
import tkMessageBox

def foo():
    a = 3
    if a == 2:
        tkMessageBox.showinfo('Hello', 'Yup yup yup')
    else:
        tkMessageBox.showinfo('Hello', 'My bad!')
        raise

    tkMessageBox.showinfo('Further code' ,"You shouldn't see me if a is not 2")

app = Tk()
app.title("ABC")
app.geometry()


filetype_fasta = [('fasta files', '*.fasta'), ('All files', '*.*')]
button_templ = Button(app, text = 'Click me', width =6, command = foo)
button_templ.grid(row = 3, column = 2)

app.mainloop()

私が持っている複雑なスクリプトでは問題なく動作します。私の質問はこれです-この方法を使用する際に、私が知っておくべき潜在的な問題はありますraiseか? はいの場合、同じことを行うためのより良い/一般的な方法はありますか?

編集:アイデアをよりよく示すために例を変更しました。

4

1 に答える 1