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

  • 相关阅读:
    ping 原理与ICMP协议
    ARP详解
    TCP,UDP,IP数据包的大小限制
    Java7--try
    递归,尾递归,回溯
    OLEDB数据源
    hexo next主题为博客添加分享功能
    Windows数据库编程接口简介
    2017总结与2018规划
    为 MariaDB 配置远程访问权限
  • 原文地址:https://www.cnblogs.com/herd/p/10991054.html
Copyright © 2011-2022 走看看