private Action <V> TryCatchAction <V> (Action <V> action, Component component = null) { return(x => { try { action(x); } catch (Exception e) { DebugFormat.LogException(component, e); } }); }
public async UniTask SendRequest() { UnityWebRequest unityRequest = null; try { unityRequest = CreateUnityWebRequest(RequestURL); await PrepeareRequest(unityRequest); await unityRequest.SendWebRequest(); } catch (Exception e) { } finally { try { await RequestPostprocessing(unityRequest); if (unityRequest.result == UnityWebRequest.Result.ConnectionError) { await ProcessNetworkError(unityRequest); } if (unityRequest.result == UnityWebRequest.Result.ProtocolError) { await ProcessHttpError(unityRequest); } if (unityRequest.isDone && unityRequest.result == UnityWebRequest.Result.Success) { var json = GetJSON(unityRequest); ResponseRawData = json; Events.SendSuccessRaw(json); var data = FromJSON <T>(unityRequest); await OnDataReceived(data); Events.SendSuccess(data); } } catch (Exception e2) { DebugFormat.LogException <Request <T> >(e2); } } }
protected virtual K FromJSON <K> (UnityWebRequest unityRequest) { string json = null; try { json = GetJSON(unityRequest); var result = JsonConvert.DeserializeObject <K>(json, jsonSerializerSettings); return(result); } catch (Exception e) { Events.SendSerializationError(e.Message); DebugFormat.LogException <Request <T> >(e); try { DebugFormat.LogError(this, $"JSON ({typeof(K).Name}):\n\n{JsonPrettify(json)}\n"); } catch (Exception e2) { DebugFormat.LogError(this, $"JSON ({typeof(K).Name}):\n\n{json}\n"); } } return(default(K)); }