C++异常处理范例代码
发布时间:2020-12-16 07:45:54 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 // Program shows copying one text file from source location// to any other location (destination),plus possibility of changing its name,// a
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 // Program shows copying one text file from source location // to any other location (destination),plus possibility of changing its name,// and also shows many language features in exception handling. // This program should be run from the command prompt #include<iostream> #include<stdio.h> #include<stdexcept> using namespace std; class PathError : public runtime_error { public: PathError(const char *x) : runtime_error(x) {} }; // function to open source file for read FILE* source (char* argvs[]) { FILE *in; //open source file for read if((in = fopen(argvs[1],"r"))==NULL) { throw PathError("attempted to open wrong input file path");//terminate function } return in; } //function to create destination file for writting FILE* destination (char* argvs[]) { FILE *out; //open destination file for write if((out = fopen(argvs[2],"w")) == NULL) { throw PathError("attempted to open wrong output file path");//terminate function } return out; } int main(int argc,char *argv[]) { FILE *in,*out; bool flag = 1; int temp; while(argc == 3) { try { in = source( argv ); out = destination( argv ); argc = 0; } catch(PathError& PathError) { cerr <<"nException occured: " << PathError.what() << endl; return -1; } while(!feof(in))//test for it is not end of input file { temp = fgetc(in);//get char from (in)file if( temp != EOF) { fputc(temp,out);//put char to (out) file } } fclose(in); fclose(out); cout<<"nt 1 file copied.n"; flag = 0; } if( flag != 0 ) { cerr<<"nWrong argument list!!!nn"; return -1; } return 0; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |