社区
C#
帖子详情
C# WinForm程序出错的时候,如何自动重启
viki117
2009-08-28 12:03:53
因为程序是一个融合平台,调用到很多第三方程序和服务,很多时候并不是自己程序错误,而是第三方程序和服务的意外错误,导致程序崩溃,理论上当然也是程序没有做好异常的处理,但是有些异常相当不好处理;
所以想当程序出现一些致命错误的时候,或者第三方程序和服务导致程序死掉的时候,怎么自动重启程序,不要用进程Process来处理,很多时间实际上进程依然在,但是程序因为没有确认退出,进程依然在那里的
...全文
957
9
打赏
收藏
C# WinForm程序出错的时候,如何自动重启
因为程序是一个融合平台,调用到很多第三方程序和服务,很多时候并不是自己程序错误,而是第三方程序和服务的意外错误,导致程序崩溃,理论上当然也是程序没有做好异常的处理,但是有些异常相当不好处理; 所以想当程序出现一些致命错误的时候,或者第三方程序和服务导致程序死掉的时候,怎么自动重启程序,不要用进程Process来处理,很多时间实际上进程依然在,但是程序因为没有确认退出,进程依然在那里的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
code_li
2012-06-01
打赏
举报
回复
电话 短信程序 也是用的第三方 dll 经常出错。。。。纠结中、、、
reciment
2011-06-04
打赏
举报
回复
学习下 正在找这个方面的问题
viki117
2009-09-01
打赏
举报
回复
还有一点就是。。很多地方没有做异常处理。。而且有的时间是内存错误和程序内嵌的falsh错误,但是我也需要一律搞定这些错误,并重起程序
viki117
2009-09-01
打赏
举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
写自定义异常类,在catch里
Application.Restart();
[/Quote]
具体点啥,程序里那么多类,就算继承也够弄的了。。
lethwei
2009-08-28
打赏
举报
回复
我觉得其实在内部捕捉异常比较合理
所有的 #界面操作/新线程操作/Control.Invoke# 都用 try catch 保护, 然后在一些高危界面下重载 WndProc(), 改为 try { base.WndProc } catch ...
这样基本能够避免意料不到的错误了
yuanhuiqiao
2009-08-28
打赏
举报
回复
Main函数里重启应该可以
wuyq11
2009-08-28
打赏
举报
回复
写自定义异常类,在catch里
Application.Restart();
pcqpzq
2009-08-28
打赏
举报
回复
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.ThreadException+=new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
Application.Restart();
}
pcqpzq
2009-08-28
打赏
举报
回复
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
catch
{
Application.Restart();
}
}
}
C#
WinForm
程序
异常退出的捕获、继续执行与
自动
重启
将会导致
程序
自动
结束,而且没有任何提示信息 但是如果是在主线程里运行这个代码,是会弹出异常信息对话框的。请问如何在线程里也出现这个异常信息对话框.或者避免
程序
直接退出,忽略异常,继续往下执行呢?最常出现的错误在 :UnhandledException 里出现。如果
程序
需要
重启
只需要在捕获的事件处理时启动当前应用
程序
的代码即可。如果一个线程里运行下面的代码。另外一种
重启
进程的方式。
webSocket的基本用法(一)——
C#
WinForm
服务端webSocket的基本用法
一、
C#
winForm
服务端webSocket的基本用法 using Fleck; //定义监听所有的的地址的webSocket Fleck.WebSocketServer server = new Fleck.WebSocketServer(String.Format("ws://0.0.0.0:{0}", txt_Port.Text.Trim())); //
出错
后进行
重启
c#
WinForm
开发心得
本人现在基本上只做
WinForm
开发,在开发过程当中,用到最多的是线程,我们知道,在开发人机实时交互界面的
程序
当中,线程是最基本的数据处理方式,可以减少界面
程序
当中假死状态,也可以使
程序
在执行过程当中,减少主
程序
的工作量,使一个复杂的业务分任务处理。一个任务可能需要一个线程处理,比如全局计时线程,也可能一个任务需要多个线程处理,比如向远程传输数据,可能因为数据延迟等原因,不可能等一...
C#
Winform
打包部署时添加注册表信息实现开机自启动
1.原理:需要开机自启动的
程序
,需要将其启动
程序
的路径写到注册表中指定的文件夹下 2. 写入注册表的方式有两种 a.在生成安装
程序
时配置 b.在
程序
运行时,动态配置 方法一:使用VS2010自带的打包模块可以很方便的对项目进行打包部署,同时我们也可以在安装部署时操作注册表实现开机启动软件。具体实现如下: 1、添加安装部署项目后,鼠标右键安装项目->视图->注册表,HK...
C#
winform
重启
电脑
如果用户确认要
重启
计算机,则会使用Process.Start方法来运行shutdown命令,并传递/r参数来
重启
计算机,以及/t 0参数来立即
重启
(没有时间延迟)。在
C#
WinForm
s应用
程序
中,则可以使用Process类来运行一个具有足够权限的命令,如shutdown命令。此外,还要注意的是,这种方法可能会引发安全问题,因为它允许应用
程序
控制计算机的
重启
。请注意,如果应用
程序
Process.Start方法失败不能正常
重启
,则可能需要以管理员身份运行应用
程序
,或者提示用户以管理员身份运行它。
C#
110,537
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章