下载前,先连接,下载中catch异常错误
捕捉下异常不就OK了
引用 4 楼 jinlu7611 的回复:catch到异常的时候,程序就会立即退出,怎么可以catch 到异常的同时,程序不会立即退出? 我看看你的代码先。
catch到异常的时候,程序就会立即退出,怎么可以catch 到异常的同时,程序不会立即退出?
将get的语句放在try...catch中,捕捉异常就行了。
当服务器有问题的时候,下载触发了异常,你catch里面Free了,然后catch的外面又Free一次,这不AV才怪。
请贴出完整代码。
不需要检测什么,有了try...catch就行了。脱离了IDE运行时,就不会弹出异常框了。
当然有区别。 1. C++Builder中的对象,尽量用new来创建,用delete来销毁。Free方法是为了兼容Delphi,不建议在C++Builder中使用。 2. 不管Get方法成功与否,myStream都要释放,所以将释放语句拿出来放在try的外面就行了。有异常的时候catch会捕捉到。
myStream->Free(); 这一句严重不建议。改成这样: C/C++ code?1234567891011AnsiString http = "地址";//需要下载的文件的路径TMemoryStream *myStream = new TMemoryStream();try{ IdHTTP2->Get(http,myStream);}catch(...)……
AnsiString http = "地址";//需要下载的文件的路径 TMemoryStream *myStream = new TMemoryStream(); try { IdHTTP2->Get(http,myStream); } catch(...) { ShowMessage("服务器连接失败,请稍后重试"); } delete myStream;
604
社区成员
13,460
社区内容
加载中
试试用AI创作助手写篇文章吧