zoukankan      html  css  js  c++  java
  • c++ 自定义异常类

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

    using namespace std;

    class IOException{};
    class FileException{};
    class UndefineError{};

    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 IOException();
      }

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

      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 UndefineError();
        }
      }
      fflush(out_file);
      fclose(out_file);
      fclose(in_file);


    }


    int main()
    {
      try
      {
        my_copy("D:\File\1.txt", "D:\File\20190608\1.txt");
      }
      catch (IOException e)
      {
        printf("异常一 ");
      }
      catch (FileException e)
      {
        printf("异常二 ");
      }
      catch (UndefineError e)
      {
        printf("异常三 ");
      }


      system("pause");
      return 0;
    }

  • 相关阅读:
    docker基础命令
    oracle 控制文件损坏处理
    mongodb 分片技术
    replcation set (复制集)配置过程 --mongodb
    redis API ---python
    MHA 高可用架构部署
    innoback 参数及使用说明
    Windows服务创建及发布
    DevOps 什么是 CI/CD?
    .NETReflectorVisualStudioExtension
  • 原文地址:https://www.cnblogs.com/herd/p/10991087.html
Copyright © 2011-2022 走看看