desktop: add exception handlers to startReceiver loop (#3417)
* desktop: add exception handlers to startReceiver loop * simplify * more exceptions --------- Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
This commit is contained in:
parent
da8789ef4c
commit
5a08a26c9a
@ -423,8 +423,15 @@ object ChatController {
|
|||||||
receiverStarted = false
|
receiverStarted = false
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
val msg = recvMsg(ctrl)
|
try {
|
||||||
if (msg != null) processReceivedMsg(msg)
|
val msg = recvMsg(ctrl)
|
||||||
|
if (msg != null) processReceivedMsg(msg)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.e(TAG, "ChatController recvMsg/processReceivedMsg exception: " + e.stackTraceToString());
|
||||||
|
} catch (e: Throwable) {
|
||||||
|
Log.e(TAG, "ChatController recvMsg/processReceivedMsg throwable: " + e.stackTraceToString())
|
||||||
|
AlertManager.shared.showAlertMsg(generalGetString(MR.strings.error), e.stackTraceToString())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3558,7 +3565,7 @@ class APIResponse(val resp: CR, val remoteHostId: Long?, val corr: String? = nul
|
|||||||
fun decodeStr(str: String): APIResponse {
|
fun decodeStr(str: String): APIResponse {
|
||||||
return try {
|
return try {
|
||||||
json.decodeFromString(str)
|
json.decodeFromString(str)
|
||||||
} catch(e: Exception) {
|
} catch(e: Throwable) {
|
||||||
try {
|
try {
|
||||||
Log.d(TAG, e.localizedMessage ?: "")
|
Log.d(TAG, e.localizedMessage ?: "")
|
||||||
val data = json.parseToJsonElement(str).jsonObject
|
val data = json.parseToJsonElement(str).jsonObject
|
||||||
@ -3587,11 +3594,18 @@ class APIResponse(val resp: CR, val remoteHostId: Long?, val corr: String? = nul
|
|||||||
return APIResponse(CR.ChatRespError(user, ChatError.ChatErrorInvalidJSON(json.encodeToString(resp["chatError"]))), remoteHostId, corr)
|
return APIResponse(CR.ChatRespError(user, ChatError.ChatErrorInvalidJSON(json.encodeToString(resp["chatError"]))), remoteHostId, corr)
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Error while parsing chat(s): " + e.stackTraceToString())
|
Log.e(TAG, "Exception while parsing chat(s): " + e.stackTraceToString())
|
||||||
|
} catch (e: Throwable) {
|
||||||
|
Log.e(TAG, "Throwable while parsing chat(s): " + e.stackTraceToString())
|
||||||
|
AlertManager.shared.showAlertMsg(generalGetString(MR.strings.error), e.stackTraceToString())
|
||||||
}
|
}
|
||||||
APIResponse(CR.Response(type, json.encodeToString(data)), remoteHostId, corr)
|
APIResponse(CR.Response(type, json.encodeToString(data)), remoteHostId, corr)
|
||||||
} catch(e: Exception) {
|
} catch(e: Exception) {
|
||||||
APIResponse(CR.Invalid(str), remoteHostId = null)
|
APIResponse(CR.Invalid(str), remoteHostId = null)
|
||||||
|
} catch(e: Throwable) {
|
||||||
|
Log.e(TAG, "Throwable2 while parsing chat(s): " + e.stackTraceToString())
|
||||||
|
AlertManager.shared.showAlertMsg(generalGetString(MR.strings.error), e.stackTraceToString())
|
||||||
|
APIResponse(CR.Invalid(str), remoteHostId = null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user