5

これは少し変わった質問ですが、面白いかもしれません!

Pythonで確実に例外を発生させる必要があります。私はそれが人間によって引き起こされることを望んでいますが、常に例外を引き起こすコードに何かを埋め込んでも構わないと思っています. (私はいくつかの例外処理を設定しており、それをテストしたいと考えています)

私は周りを見回しており、いくつかのアイデアはゼロによる除算であるか、それらの線に沿った何かが常に例外を引き起こすように見えます-より良い方法はありますか? 最も理想的なのは、プログラムの実行中にインターネット接続が失われることをシミュレートすることです....どんなアイデアでも素晴らしいでしょう!

楽しむ!

4

3 に答える 3

5

はい、あります:独自の例外を明示的に発生させることができます。

raise Exception("A custom message as to why you raised this.")

ネットワーク接続が失われた場合は、適切な例外/エラーを発生させる必要があります。

于 2012-07-17T16:23:33.397 に答える
3

Python で独自の例外を定義できるため、ニーズに合わせてカスタム エラーを作成できます。特定の条件が存在することをテストし、そのテストの真実性を使用して、光沢のあるカスタム例外を発生させるかどうかを決定できます。

class MyFancyException(Exception): pass

def do_something():
    if sometestFunction() is True:
        raise MyFancyException
    carry_on_theres_nothing_to_see()    

try:
    do_something()
except MyFancyException:
    # This is entirely up to you! 
    # What needs to happen if the exception is caught?

ドキュメントには、いくつかの有用な例があります。

于 2012-07-17T16:40:58.120 に答える
0

うん、あなたはただ急降下することができます

  1 / 0 

実行時エラーが発生するコード内の任意の場所、特にこの場合はZeroDivisionError: integer division or modulo by zero

これは、コードに何かを埋め込むことで例外を取得する最も簡単な方法です(投稿で述べたように)。もちろん、独自の例外を発生させることもできます。特定のニーズによって異なります。

于 2012-07-17T16:26:33.830 に答える