Commit 922f358
committed
Fixed: Manually add stack trace of caller function that called
For example, exceptions like following don't tell which API call failed and where.
```
Error in ResultReturner:
java.io.IOException: Connection refused
at android.net.LocalSocketImpl.connectLocal(Native Method)
at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:259)
at android.net.LocalSocket.connect(LocalSocket.java:162)
at com.termux.api.util.ResultReturner.lambda$returnData$0(ResultReturner.java:244)
at com.termux.api.util.ResultReturner$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.lang.Thread.run(Thread.java:1119)
```
Now it will be something like this
```
Error in ResultReturner:
java.io.IOException: Connection refused
at android.net.LocalSocketImpl.connectLocal(Native Method)
at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:259)
at android.net.LocalSocket.connect(LocalSocket.java:162)
at com.termux.api.util.ResultReturner.lambda$returnData$0(ResultReturner.java:244)
at com.termux.api.util.ResultReturner$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.lang.Thread.run(Thread.java:1119)
Suppressed: java.lang.Exception: Called by:
at com.termux.api.util.ResultReturner.returnData(ResultReturner.java:234)
at com.termux.api.apis.BatteryStatusAPI.onReceive(BatteryStatusAPI.java:27)
at com.termux.api.TermuxApiReceiver.doWork(TermuxApiReceiver.java:91)
at com.termux.api.TermuxApiReceiver.onReceive(TermuxApiReceiver.java:65)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:5029)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2577)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:248)
at android.os.Looper.loop(Looper.java:338)
at android.app.ActivityThread.main(ActivityThread.java:9067)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
```ResultReturner.returnData() to exception messages as exceptions thrown inside Runnable lambda thread will not include it by default1 parent 97b4100 commit 922f358
1 file changed
+14
-4
lines changedLines changed: 14 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
226 | 230 | | |
227 | 231 | | |
228 | 232 | | |
| |||
231 | 235 | | |
232 | 236 | | |
233 | 237 | | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
234 | 242 | | |
235 | 243 | | |
236 | 244 | | |
| |||
276 | 284 | | |
277 | 285 | | |
278 | 286 | | |
| 287 | + | |
| 288 | + | |
279 | 289 | | |
280 | 290 | | |
281 | 291 | | |
| |||
308 | 318 | | |
309 | 319 | | |
310 | 320 | | |
311 | | - | |
312 | | - | |
313 | | - | |
| 321 | + | |
314 | 322 | | |
315 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
316 | 326 | | |
317 | 327 | | |
318 | 328 | | |
| |||
0 commit comments