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;
    }

  • 相关阅读:
    javascript定义变量和优先级的问题
    css expression explaination
    apply()与call()详解
    jquery $(document).ready() 与window.onload的区别
    ES5严格模式
    css margin collapse
    作业 20181016-10 每周例行报告
    作业 20181009-9 每周例行报告
    作业 20180925-1 每周例行报告
    20180925-7 规格说明书-吉林市2日游
  • 原文地址:https://www.cnblogs.com/herd/p/10991054.html
Copyright © 2011-2022 走看看