请教牛人:LibUsbDotNet.dll开发usb驱动,软件(C#)怎么实现热插拔实时显示连线状态。
传输数据时拔掉数据线(热插拔),程序关闭设备,然后实时检测目标设备是否插入,当设备重新插入时软件自动连接。在检测设备时有时会跳出“已关闭Safehandle”,这个错误貌...
传输数据时拔掉数据线(热插拔),程序关闭设备,然后实时检测目标设备是否插入,当设备重新插入时软件自动连接。在检测设备时有时会跳出“已关闭 Safe handle”,这个错误貌似从dll抛出的,代码中也无法捕捉此错误,导致软件退出。
展开
1个回答
展开全部
这个错误貌似从dll抛出的,代码中也无法捕捉此错误,导致软件退出。
不会无法捕获的.
首先按照您的描述是winform程序嘛>
winform程序中请绑定application级别的未处理异常捕捉事件,只有发生未处理异常才会出现程序崩溃的问题.
已关闭 Safe handle
该问题应当是GC已经回收了句柄.所以报错.如果你实在找不到哪里释放掉的话.
就使用捕获未处理异常来忽略该异常即可
//处理未捕获的异常
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
//处理UI线程异常
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
//处理非UI线程异常
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
如果还有其他问题.您继续追问吧
不会无法捕获的.
首先按照您的描述是winform程序嘛>
winform程序中请绑定application级别的未处理异常捕捉事件,只有发生未处理异常才会出现程序崩溃的问题.
已关闭 Safe handle
该问题应当是GC已经回收了句柄.所以报错.如果你实在找不到哪里释放掉的话.
就使用捕获未处理异常来忽略该异常即可
//处理未捕获的异常
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
//处理UI线程异常
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
//处理非UI线程异常
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
如果还有其他问题.您继续追问吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询