回答編集履歴
1
コードを追加
answer
CHANGED
@@ -1,3 +1,25 @@
|
|
1
1
|
AWS Lambdaのpythonでは、`sys.exit()`は質問にも書かれてるエラーが出るので、使えません。
|
2
2
|
|
3
|
-
代替としてパッと思いつくのは、exitしたいところでなんらかのExceptionを投げて、一番上のハンドラ関数でそれを拾って`return`するようなコードでしょうか。
|
3
|
+
代替としてパッと思いつくのは、exitしたいところでなんらかのExceptionを投げて、一番上のハンドラ関数でそれを拾って`return`するようなコードでしょうか。
|
4
|
+
|
5
|
+
```python
|
6
|
+
# ハンドラー終了用のExceptionを定義
|
7
|
+
class ExitHandler(Exception):
|
8
|
+
def __init__(self, value=None):
|
9
|
+
super(ExitHandler, self).__init__()
|
10
|
+
self.value = value
|
11
|
+
|
12
|
+
def lambda_handler(event, context):
|
13
|
+
try:
|
14
|
+
a = 'eigo'
|
15
|
+
output_name = check_name(a)
|
16
|
+
print(output_name)
|
17
|
+
except ExitHandler as e:
|
18
|
+
return e.value
|
19
|
+
|
20
|
+
def check_name(a):
|
21
|
+
if a == "eigo":
|
22
|
+
print("eigo")
|
23
|
+
raise ExitHandler(0)
|
24
|
+
return {'state': "fin"}
|
25
|
+
```
|