c# - Why is this exception not caught? -
i'm trying run following code:
class program { static void main(string[] args) { var task = task.factory.startnew(() => { throw new applicationexception("message"); }); try { task.continuewith(t => console.writeline("end")); } catch (aggregateexception aex) { console.write(aex.innerexception.message); } } } i expected exception caught in following location:
catch (aggregateexception aex) { console.write(aex.innerexception.message); } but not happening. why so?
you're printing out task - won't have completed yet.
printing out task doesn't wait complete, or try fetch value.
if change code to:
try { task.wait(); } ... then i'd expect catch exception.
(i using task<t>.result, notice task no return value, non-generic task.)
Comments
Post a Comment