exception - python try文 - 1行で複数の例外をキャッチ(except block

Python Exception / python / exception-handling

できることを知っています。

try:
    # do something that may fail
except:
    # do this if ANYTHING goes wrong

こんなこともできます。

try:
    #失敗する可能性のあることをする
except IDontLikeYouException:
    #言ってください
except YouAreTooShortException:
    #はしごの上に立つ

しかし、2つの異なる例外の中で同じことをしようと思ったら、今考えられる最善の方法は、このようにすることです。

try:
    #失敗する可能性のあることをする
except IDontLikeYouException:
    #言ってください
except YouAreBeingMeanException:
    #言ってください
try:
    #失敗する可能性のあることをする
except IDontLikeYouException, YouAreBeingMeanException:
    #言ってください

の構文と一致してしまうため、実際には動作しません。

try:
    #失敗する可能性のあることをする
except Exception, e:
    #言ってください

inspectorG4dget



Answer #1

そのための方法のひとつが...。

try:
   You do your operations here;
   ......................
except(Exception1[, Exception2[,...ExceptionN]]]):
   If there is any exception from the given exception list, 
   then execute this block.
   ......................
else:
   If there is no exception then execute this block. 
try:
   You do your operations here;
   ......................
except Exception1:
    functionname(parameterList)
except Exception2:
    functionname(parameterList)
except Exception3:
    functionname(parameterList)
else:
   If there is no exception then execute this block. 

def functionname( parameters ):
   //あなたのタスク..
   return [expression]