質問編集履歴
2
pythonの例を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -51,6 +51,7 @@
|
|
51
51
|
try:
|
52
52
|
return func(*args, **kwargs)
|
53
53
|
except Exception:
|
54
|
+
# 解決する
|
54
55
|
input("enter")
|
55
56
|
continue
|
56
57
|
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
}
|
13
13
|
```
|
14
14
|
このfuncを包んでいる処理を他の関数でもやりたく、いい感じな書き方を知りたいです(その都度whileを書くのを避けたい)。
|
15
|
+
引数、戻り値は同じではなく、関数ごとに異なります。
|
15
16
|
|
16
17
|
フェーズのようなenumを作って、全体を包んでflagのような感じで、、みたいなのは思いつきましたが。。
|
17
18
|
```java
|
@@ -43,7 +44,24 @@
|
|
43
44
|
}
|
44
45
|
```
|
45
46
|
|
46
|
-
pythonだったら
|
47
|
+
pythonだったら以下のような解決策が思い浮かびます。
|
48
|
+
```python
|
49
|
+
def execute(func, *args, **kwargs):
|
50
|
+
while True:
|
51
|
+
try:
|
52
|
+
return func(*args, **kwargs)
|
53
|
+
except Exception:
|
54
|
+
input("enter")
|
55
|
+
continue
|
56
|
+
|
57
|
+
def api():
|
58
|
+
# 例外が発生する可能性がある処理
|
59
|
+
pass
|
60
|
+
|
61
|
+
execute(api)
|
62
|
+
execute(api2, arg1, arg2)
|
63
|
+
# ...
|
64
|
+
```
|
47
|
-
引数
|
65
|
+
これは関数自体を引数にすることができ、可変長引数が柔軟である必要があります。
|
48
66
|
|
49
67
|
どのように検索したら良いのか分からなく、皆様のお知恵を拝借したいです。
|