2017-10-26 4 views
0

私はこのエラーを多く処理しますが、ブロックを除いてこのtry tryを書く方が簡単ですか?この例外処理を書く最適な方法は何ですか?

 try: 
      config = item['asset'][0]['config'] 
     except: 
      config = 'None' 

pythonic onelinerのようなものでしょうか?

+1

投げられるエラーは何ですか? 1行のif文のようなエラーをチェックするだけで、動作しないイベントで 'item'の要素にアクセスしようとしないようにすることができます。 config = item ['asset'] [0] ['config'] if <エラーをスローしない条件> else config = 'None'' –

+0

大きなデータソースを見ていると私はそのような私は値を見つけられず、Iamはそれらのために 'None'を記入することが許可されていますので、私はonelinerを探しています – Victor

答えて

0

必要なときにいつでも呼び出すことができるように、その方法を書いてみませんか?

def validate_item(item): 
    try: 
     config_letter = item['asset'][0]['config'] 
    except: 
     config_letter = 'None' 

これは明らかに概要ですので、必要に応じてパラメータを再フォーマットすることができます。

+1

おそらくグローバル変数ではない場合にconfig_letterを返します。 'config_letter = validate_item(item)' –

+0

これを行うことはできません。もっと多くの行があります。上記のためのオンライナーが必要です – Victor

+2

あなたが今やっているやり方が、あなたがそれを確認する必要があるたびにtry/exceptブロックを書いているのであれば、これ以上の行はどうですか? –

関連する問題