zoukankan      html  css  js  c++  java
  • c++ throw异常(学习)

    #include <iostream>
    #include <stdio.h>

    using namespace std;


    void my_copy(const char* src_file, const char* dest_file)
    {
      FILE *in_file, *out_file;
      in_file = fopen(src_file, "rb");
      if (in_file == NULL)
      {
        throw 1;
      }

      out_file = fopen(dest_file, "wb");
      if (out_file == NULL)
      {
        throw 2;
      }

      char rec[1024];
      size_t bytes_in, bytes_out;
      while ((bytes_in = fread(rec, 1, 1024, in_file))>0)
      {
        bytes_out = fwrite(rec, 1, bytes_in, out_file);
        if (bytes_in != bytes_out)
        {
          throw 3;
        }
      }
      fflush(out_file);
      fclose(out_file);
      fclose(in_file);

      
    }

    int main()
    {
      try
      {
        my_copy("D:\File\1.txt", "D:\File\20190608\1.txt");
      }
      catch (int e)
      {
        switch (e)
        {
        case 1:
          printf("打开源文件出错 ");
          break;
        case 2:
          printf("打开目标文件出错 ");
          break;
        case 3:
          printf("拷贝文件出错 ");
          break;
        default:
          printf("未知错误 ");
          break;
        }
      }

      system("pause");
      return 0;
    }

  • 相关阅读:
    mysql总结
    spirngmvc整合mybatis实现CRUD
    java lesson09总结
    Java lesson08 Homework
    java Lesson08总结
    【DFS】bzoj2435 [Noi2011]道路修建
    【BFS】bzoj2252 [2010Beijing wc]矩阵距离
    【BFS】bzoj1054 [HAOI2008]移动玩具
    【搜索】bzoj3109 [cqoi2013]新数独
    【搜索】【约数个数定理】[HAOI2007]反素数ant
  • 原文地址:https://www.cnblogs.com/herd/p/10991054.html
Copyright © 2011-2022 走看看