Handle DispatcherUnhandledException by not shutdown
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
add a comment |
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
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
add a comment |
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
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
c# wpf
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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.
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
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
add a comment |
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.
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
add a comment |
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.
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.
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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