回答編集履歴

1 コードを追加

bsdfan

bsdfan score 1349

2020/07/14 11:17  投稿

AWS Lambdaのpythonでは、`sys.exit()`は質問にも書かれてるエラーが出るので、使えません。
代替としてパッと思いつくのは、exitしたいところでなんらかのExceptionを投げて、一番上のハンドラ関数でそれを拾って`return`するようなコードでしょうか。
代替としてパッと思いつくのは、exitしたいところでなんらかのExceptionを投げて、一番上のハンドラ関数でそれを拾って`return`するようなコードでしょうか。
```python
# ハンドラー終了用のExceptionを定義
class ExitHandler(Exception):
   def __init__(self, value=None):
       super(ExitHandler, self).__init__()
       self.value = value
def lambda_handler(event, context):
   try:
       a = 'eigo'
       output_name = check_name(a)
       print(output_name)
   except ExitHandler as e:
       return e.value
def check_name(a):
   if a == "eigo":
       print("eigo")
       raise ExitHandler(0)
   return {'state': "fin"} 
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る