Handle DispatcherUnhandledException by not shutdown












0















I know this is a very old issue and saw so many examples here.



My issue caused by Intenet connection. If internet disconnects, the application is shutting down by Dispatch exception.



I do not want to shutdown application on losing internet, rather want to give an alert saying "The internet connection is lost, please connect to the internet" and not shutting down the application. Is there anyway, I can handle this?



Below is my code.



 private void UnhandledDispatchException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
var ex = e.Exception;
e.Handled = true;

this.HandleException("Unhandled Dispatch Exception", ex);
Current.Shutdown();
}









share|improve this question


















  • 1





    The odds that you can properly resume running your program when Internet connectivity comes back are pretty low when you do it this way. You need to try/catch it closer to the code that failed. Which you need to do it anyway, it will also fall over when the specific server burps for any reason. Just make sure you can cause this to happen when you need it to happen so you can test your code. Disabling the network adapter ought to do it.

    – Hans Passant
    Nov 23 '18 at 21:07


















0















I know this is a very old issue and saw so many examples here.



My issue caused by Intenet connection. If internet disconnects, the application is shutting down by Dispatch exception.



I do not want to shutdown application on losing internet, rather want to give an alert saying "The internet connection is lost, please connect to the internet" and not shutting down the application. Is there anyway, I can handle this?



Below is my code.



 private void UnhandledDispatchException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
var ex = e.Exception;
e.Handled = true;

this.HandleException("Unhandled Dispatch Exception", ex);
Current.Shutdown();
}









share|improve this question


















  • 1





    The odds that you can properly resume running your program when Internet connectivity comes back are pretty low when you do it this way. You need to try/catch it closer to the code that failed. Which you need to do it anyway, it will also fall over when the specific server burps for any reason. Just make sure you can cause this to happen when you need it to happen so you can test your code. Disabling the network adapter ought to do it.

    – Hans Passant
    Nov 23 '18 at 21:07
















0












0








0








I know this is a very old issue and saw so many examples here.



My issue caused by Intenet connection. If internet disconnects, the application is shutting down by Dispatch exception.



I do not want to shutdown application on losing internet, rather want to give an alert saying "The internet connection is lost, please connect to the internet" and not shutting down the application. Is there anyway, I can handle this?



Below is my code.



 private void UnhandledDispatchException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
var ex = e.Exception;
e.Handled = true;

this.HandleException("Unhandled Dispatch Exception", ex);
Current.Shutdown();
}









share|improve this question














I know this is a very old issue and saw so many examples here.



My issue caused by Intenet connection. If internet disconnects, the application is shutting down by Dispatch exception.



I do not want to shutdown application on losing internet, rather want to give an alert saying "The internet connection is lost, please connect to the internet" and not shutting down the application. Is there anyway, I can handle this?



Below is my code.



 private void UnhandledDispatchException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
var ex = e.Exception;
e.Handled = true;

this.HandleException("Unhandled Dispatch Exception", ex);
Current.Shutdown();
}






c# wpf






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 20:50









ChatraChatra

37511038




37511038








  • 1





    The odds that you can properly resume running your program when Internet connectivity comes back are pretty low when you do it this way. You need to try/catch it closer to the code that failed. Which you need to do it anyway, it will also fall over when the specific server burps for any reason. Just make sure you can cause this to happen when you need it to happen so you can test your code. Disabling the network adapter ought to do it.

    – Hans Passant
    Nov 23 '18 at 21:07
















  • 1





    The odds that you can properly resume running your program when Internet connectivity comes back are pretty low when you do it this way. You need to try/catch it closer to the code that failed. Which you need to do it anyway, it will also fall over when the specific server burps for any reason. Just make sure you can cause this to happen when you need it to happen so you can test your code. Disabling the network adapter ought to do it.

    – Hans Passant
    Nov 23 '18 at 21:07










1




1





The odds that you can properly resume running your program when Internet connectivity comes back are pretty low when you do it this way. You need to try/catch it closer to the code that failed. Which you need to do it anyway, it will also fall over when the specific server burps for any reason. Just make sure you can cause this to happen when you need it to happen so you can test your code. Disabling the network adapter ought to do it.

– Hans Passant
Nov 23 '18 at 21:07







The odds that you can properly resume running your program when Internet connectivity comes back are pretty low when you do it this way. You need to try/catch it closer to the code that failed. Which you need to do it anyway, it will also fall over when the specific server burps for any reason. Just make sure you can cause this to happen when you need it to happen so you can test your code. Disabling the network adapter ought to do it.

– Hans Passant
Nov 23 '18 at 21:07














1 Answer
1






active

oldest

votes


















1














You seem to be triggering the shutdown yourself with Current.Shutdown(). Remove that and it should work.



But don't use an unhandled exception event to handle expected errors. Rather, wrap your IO in try-catch and handle exceptions near the place they originate from.






share|improve this answer
























  • I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

    – Chatra
    Nov 23 '18 at 21:06











  • @Chatra see the 2nd paragraph. Is your question answered?

    – usr
    Nov 25 '18 at 9:54











  • Yes, Thank you!

    – Chatra
    Dec 2 '18 at 18:48











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53452808%2fhandle-dispatcherunhandledexception-by-not-shutdown%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














You seem to be triggering the shutdown yourself with Current.Shutdown(). Remove that and it should work.



But don't use an unhandled exception event to handle expected errors. Rather, wrap your IO in try-catch and handle exceptions near the place they originate from.






share|improve this answer
























  • I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

    – Chatra
    Nov 23 '18 at 21:06











  • @Chatra see the 2nd paragraph. Is your question answered?

    – usr
    Nov 25 '18 at 9:54











  • Yes, Thank you!

    – Chatra
    Dec 2 '18 at 18:48
















1














You seem to be triggering the shutdown yourself with Current.Shutdown(). Remove that and it should work.



But don't use an unhandled exception event to handle expected errors. Rather, wrap your IO in try-catch and handle exceptions near the place they originate from.






share|improve this answer
























  • I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

    – Chatra
    Nov 23 '18 at 21:06











  • @Chatra see the 2nd paragraph. Is your question answered?

    – usr
    Nov 25 '18 at 9:54











  • Yes, Thank you!

    – Chatra
    Dec 2 '18 at 18:48














1












1








1







You seem to be triggering the shutdown yourself with Current.Shutdown(). Remove that and it should work.



But don't use an unhandled exception event to handle expected errors. Rather, wrap your IO in try-catch and handle exceptions near the place they originate from.






share|improve this answer













You seem to be triggering the shutdown yourself with Current.Shutdown(). Remove that and it should work.



But don't use an unhandled exception event to handle expected errors. Rather, wrap your IO in try-catch and handle exceptions near the place they originate from.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 23 '18 at 21:02









usrusr

144k26186299




144k26186299













  • I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

    – Chatra
    Nov 23 '18 at 21:06











  • @Chatra see the 2nd paragraph. Is your question answered?

    – usr
    Nov 25 '18 at 9:54











  • Yes, Thank you!

    – Chatra
    Dec 2 '18 at 18:48



















  • I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

    – Chatra
    Nov 23 '18 at 21:06











  • @Chatra see the 2nd paragraph. Is your question answered?

    – usr
    Nov 25 '18 at 9:54











  • Yes, Thank you!

    – Chatra
    Dec 2 '18 at 18:48

















I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

– Chatra
Nov 23 '18 at 21:06





I understand triggering the shutdown myself. But I want to show that error message when it is caused by internet only.

– Chatra
Nov 23 '18 at 21:06













@Chatra see the 2nd paragraph. Is your question answered?

– usr
Nov 25 '18 at 9:54





@Chatra see the 2nd paragraph. Is your question answered?

– usr
Nov 25 '18 at 9:54













Yes, Thank you!

– Chatra
Dec 2 '18 at 18:48





Yes, Thank you!

– Chatra
Dec 2 '18 at 18:48


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53452808%2fhandle-dispatcherunhandledexception-by-not-shutdown%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Berounka

Sphinx de Gizeh

Different font size/position of beamer's navigation symbols template's content depending on regular/plain...