Co się stanie, jeśli wystąpi wyjątek w bloku Catch w C #. Również w tym przypadku wynik wywołującego
Było to pytanie wywiadu, dość proste, ale nie jestem pewny odpowiedzi.
Co się stanie, jeśli wystąpi wyjątek w bloku catch?
Próbuję podać przykładowy mały postęp tego, o co pytający pytał mnie, proszę poprawić mój program, jeśli się nie kompiluje, jestem naprawdę nowy. Dolna linia jest tym, co dzieje się, gdy wystąpi wyjątek w Catch i jaka będzie wartość w przypadku hatchera.
Na przykład mam następujące:
double Calculate(int x)
{
try
{
x = x/2;
}
catch(Exception ex)
{
Console.Writeline("Message: "+ ex.Message);
}
finally
{
x = 10;
}
return x;
}
double myResult = Calculate(x); //x can be any number or 0 for example
Teraz są dwa pytania:
Co się stanie, jeśli w bloku catch wystąpi wyjątek? Ponadto, jak go rozwiązać? (To prosty przykład tego, co ankieter zadawał podobne pytanie).
Co stanie się z myResult, jeśli wyjątek wystąpi w metodzie Calculate (x) i jaka będzie jej wartość we wszystkich przypadkach? (Proszę wyjaśnić każdy przypadek za pomocą przykładu)
Chciałbym to zrozumieć również ze szczegółowym wyjaśnieniem.
Dziękuję bardzo.