✅ Why is this try/catch block preventing lines after it from firing when an exception is caught?
I have this foreach block with a try/catch inside it. Can someone please help me understand why the logger line for initialization completing isn't executing when an exception occurs inside the foreach try/catch?
I know it's bad form to control flow with exceptions. This is a call to a dependency service which unfortunately doesn't give me a good way to tell if the ConnectAsync method succeeds or fails, so I don't really have a choice. (Also I'd want to catch exceptions regardless.)
4 Replies
because of the
continue;
, this tells the loop, to stop the current iteration of the loop and continue with the next
(because in the else branch the continue;
is the last statement, its actually not even needed there, because its at the end of the iteration code anyway in will proceed to the next iteration)Yeah that's true, but I don't know why that would stop the logger line that's outside the foreach block from executing. Do you know why that logger line doesn't execute?
oh, i didnt even notice that after the loop, because u said inside the foreach
from the given code that can only happen if anything after the catch block is throwing an exception
cap5lut
REPL Result: Success
Console Output
Compile: 470.842ms | Execution: 80.890ms | React with ❌ to remove this embed.