何かを「試して」、例外をキャッチするか、例外を回避することが最初に可能かどうかをテストする方がよいでしょうか。

| |

何かが有効かどうかをテストする必要がありますか、それとも試してして例外をキャッチする必要がありますか?

  • 確かなドキュメントはありますか片方の方法が望ましいと言っていますか?
  • もう片方の方法はpythonicですか?

たとえば、次のようにする必要があります。

  if len(my_list)> = 4:x = my_list [3] else:x = "NO_ABC"  

または:

 試してみてください:x = my_list [3] IndexErrorを除く:x = "NO_ABC"  

いくつかの考え...
PEP 20 によると:

エラーは黙って渡されるべきではありません。
明示的に沈黙させない限り。

ifの代わりにtryを使用する必要がありますか?もしそうなら、あなたはそれをこのように使用することによって明示的に沈黙させているので、それで大丈夫ですか?


私は参照していません一方向にしかできない状況へ。例:

  try:import foo(ImportErrorを除く):import baz