Merge pull request #138 from Cysharp/hotfix/ContinueOnErrorCallingOnNext

Continue to subscribe if an exception is raised when calling onNext
This commit is contained in:
Yoshifumi Kawai
2020-08-25 07:11:43 +09:00
committed by GitHub

View File

@@ -194,9 +194,16 @@ namespace Cysharp.Threading.Tasks.Linq
try
{
while (await e.MoveNextAsync())
{
try
{
onNext(e.Current);
}
catch (Exception ex)
{
UniTaskScheduler.PublishUnobservedTaskException(ex);
}
}
onCompleted();
}
catch (Exception ex)
@@ -226,9 +233,16 @@ namespace Cysharp.Threading.Tasks.Linq
try
{
while (await e.MoveNextAsync())
{
try
{
onNext(e.Current).Forget();
}
catch (Exception ex)
{
UniTaskScheduler.PublishUnobservedTaskException(ex);
}
}
onCompleted();
}
catch (Exception ex)
@@ -258,9 +272,16 @@ namespace Cysharp.Threading.Tasks.Linq
try
{
while (await e.MoveNextAsync())
{
try
{
onNext(e.Current, cancellationToken).Forget();
}
catch (Exception ex)
{
UniTaskScheduler.PublishUnobservedTaskException(ex);
}
}
onCompleted();
}
catch (Exception ex)
@@ -290,9 +311,16 @@ namespace Cysharp.Threading.Tasks.Linq
try
{
while (await e.MoveNextAsync())
{
try
{
observer.OnNext(e.Current);
}
catch (Exception ex)
{
UniTaskScheduler.PublishUnobservedTaskException(ex);
}
}
observer.OnCompleted();
}
catch (Exception ex)