質問編集履歴

2

pythonの例を追加

2022/02/23 02:17

投稿

ABC-..
ABC-..

スコア1

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

2022/02/23 01:55

投稿

ABC-..
ABC-..

スコア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
  どのように検索したら良いのか分からなく、皆様のお知恵を拝借したいです。