From 3f64a9345737bcd279f7dfcc48030d894524e2fb Mon Sep 17 00:00:00 2001 From: ousttrue Date: Thu, 25 Feb 2021 13:07:37 +0900 Subject: [PATCH] throw --- .../Runtime/UniGLTF/IO/AltTask/Awaitable.cs | 14 ++++++++++---- .../Runtime/UniGLTF/IO/AltTask/GenericAwaitable.cs | 10 +++++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/Awaitable.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/Awaitable.cs index 802ce2322..545082372 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/Awaitable.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/Awaitable.cs @@ -78,15 +78,17 @@ namespace UniGLTF.AltTask public Awaitable(Task task) { - if (task.IsFaulted) - { - throw task.Exception; - } _task = task; + if (_task.Exception != null) + { + throw _task.Exception; + } } public bool IsCompleted => _task.IsCompleted; + public Exception Exception => _task.Exception; + public IAwaiter GetAwaiter() { return new Awaiter(this); @@ -130,6 +132,10 @@ namespace UniGLTF.AltTask public void GetResult() { + if (m_task.Exception != null) + { + throw m_task.Exception; + } } public void OnCompleted(Action continuation) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/GenericAwaitable.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/GenericAwaitable.cs index 8b4c51bbe..87326a28f 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/GenericAwaitable.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/AltTask/GenericAwaitable.cs @@ -70,11 +70,15 @@ namespace UniGLTF.AltTask public Awaitable(Task task) { _task = task; + if (_task.Exception != null) + { + throw _task.Exception; + } } - public bool IsCompleted => _task.IsCompleted; public T Result => _task.Result; + public Exception Exception => _task.Exception; public IAwaiter GetAwaiter() { @@ -110,6 +114,10 @@ namespace UniGLTF.AltTask public T GetResult() { + if (m_task.Exception != null) + { + throw m_task.Exception; + } return m_task.Result; }