25

言語を比較しようとするのではなく、単なる知識として、

throwsPythonでjavaキーワード/機能に相当する方法はありますか?

または、静的時に任意のメソッドによってスローされたチェック済み例外を認識する方法は?

または、例外処理の責任を渡す(連鎖する)?

ジャワ:

public void someMethod() throws SomeException
{

}

パイソン:

@someDecorator  # any way to do?
def someMethod():
    pass
4

3 に答える 3

11

私の知る限り、Python にはこれに相当する標準的なものはなく、必要でもありません。あなたができる最善のことは、どの状況でどの例外/エラーが発生するかをdocstringに示し、残りを解決するためにあなたの関数を使用している人に任せることです.

Java では、throws 句は一種の簿記です。例えば、

try {
    foo();
} catch (IOException ioe) {

}

fooがスローされる可能性があることがわかっていない限り、コンパイルされませんIOException。Python のアナログ:

try:
    foo()
except IOError as ioe:
    pass

関係なくコンパイルします。「チェックされたものとチェックされていないもの」という概念はありません。

于 2013-08-17T13:35:43.863 に答える