Wpis z mikrobloga

@hiro: Mi się ten async void nie podoba. To jest Fire and forget, więc nawet wyjątku nie dostaniesz w przypadku błędu.

Jeśli to nie to, to daj znać, o co chodziło w tym przykładzie

@llech: metoda Start nie zwraca przecież decimala. Powinno być po prostu Task.
  • Odpowiedz
@Maav: O fuck, nie zauważyłem. To pozostałość po naszym starym ogłoszeniu, które edytowałem. Dzięki za spostrzegawczość - już wyrzuciłem :)
  • Odpowiedz
@ramzes7891: Bo wyjątki.

Jeśli nie potrzebujesz obsługiwać tego kodu (niezalecane), to możesz nie dać awaita.

Jeśli nie chcesz czekać, ale chcesz wyjątek obsłużyć na innym wątku, to opakowujesz to wywołanie w osobną metodę (nazwę ja SetBalanceAsync i wywołujesz ją tak:

this.SetBalanceAsync().ContinueWith(x => /* Obsługa wyjątku, który jest dostępny pod x.Exception */, TaskContinuationOptions.OnlyOnFaulted);
  • Odpowiedz