#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("打开源文件出错\n");
      break;
    case 2:
      printf("打开目标文件出错\n");
      break;
    case 3:
      printf("拷贝文件出错\n");
      break;
    default:
      printf("未知错误\n");
      break;
    }
  }

  system("pause");
  return 0;
}

c++ throw异常(学习)的更多相关文章

  1. “全栈2019”22篇Java异常学习资料及总结

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"22篇Ja ...

  2. 2.Java异常学习

    1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...

  3. 异常学习笔记+打包+doc该软件包编译

    jvm调用默认的异常处理机制printStackTrace办法      欲了解更多异常处理.问题      捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 watermark/2 ...

  4. Java异常学习总结一

    Java中的异常 定义 异常(Exception)就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序. 常见类型举例 所需文件找不到(ClassNotFoundException) 网 ...

  5. c++异常——学习笔记

    1.异常 throw抛出字符串 最好的是:throw抛出对象. catch(...){} 2.使用标准异常类 #include<new> bitset 自己写一个异常 设计自己异常类 堆栈 ...

  6. Python错误和异常学习

    一:错误解释 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 代码运行前的语法或者逻辑错误,语法错误在执行前修改,逻辑错误无法修改 二:异常 执行过程 ...

  7. Java异常学习总结二

    异常的处理方式 方式一:捕获异常(try-catch-finally) 捕获异常是通过三个关键词来实现的:try-catch-finally.用try来执行一段程序,如果出现异常,系统抛出一个异常,可 ...

  8. Python错误和异常 学习笔记

    错误和异常概念 错误:     1.语法错误:代码不符合解释器或者编译器语法     2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行     1.程序遇到 ...

  9. Hibernate search与Lucene包异常学习心得

    最近使用了了一下Hibernate  Search这个组件 这个组件是对域模型进行全文检索,在全文检索的底层实现上使用了Lucene技术 在进行小测试的时候费了很大的力气去搞定包的问题 我直接通过实例 ...

随机推荐

  1. 主板(motherboard)

    若转载请于明显处标明出处:http://www.cnblogs.com/kelamoyujuzhen/p/8979262.html 整台PC都是围绕主板(motherboard)构建的,它是PC中最重 ...

  2. JS Array.reverse 将数组元素颠倒顺序

    <pre><script type="text/javascript"> //JS Array.reverse 将数组元素颠倒顺序//在JavaScript ...

  3. docker在Windows环境下的安装

    Windows环境下安装 docker有两种安装包 一.Docker for Windows(目前只能在 64 位的 Windows10 专业版.企业版.教育版下才能安装) 二.Docker Tool ...

  4. TCP的半连接

    T C P提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力.这就是所谓下载的半关闭.正如我们早些时候提到的只有很少的应用程序使用它.为了使用这个特性,编程接口必须为应用程序提供一种方式来说 ...

  5. BZOJ 3884——欧拉降幂和广义欧拉降幂

    理论部分 欧拉定理:若 $a,n$ 为正整数,且 $a,n$ 互质,则 $a^{\varphi (n)} \equiv 1(mod \ n)$. 降幂公式: $$a^b=\begin{cases}a^ ...

  6. PyPI教程

    Wiki PyPI The Python Package Index, abbreviated as PyPI and also known as the Cheese Shop (a referen ...

  7. P4136 谁能赢呢? 脑子

    思路:脑子(教练说是博弈论?) 提交:1次 题解: 结论:若\(n\)为奇数后手胜,若\(n\)为偶数先手胜. 大致证明: 我们发现,若我们把棋盘黑白染色并设左上角为黑色,那么显然有:若\(n\)为奇 ...

  8. MySQL Bug#67718 浅谈B+树索引的分裂优化

    原文链接:http://hedengcheng.com/?p=525 问题背景 今天,看到Twitter的DBA团队发布了其最新的MySQL分支:Changes in Twitter MySQL 5. ...

  9. 富文本编辑器从word粘贴公式

    很多时候我们用一些管理系统的时候,发布新闻.公告等文字类信息时,希望能很快的将word里面的内容直接粘贴到富文本编辑器里面,然后发布出来.减少排版复杂的工作量. 下面是借用百度doc 来快速实现这个w ...

  10. Dockerfile创建tomcat和jdk,并发布java项目

    1.准备好需要的jdk 和 tomcat kun@ubuntu:~$ cd tomcat-docker/ kun@ubuntu:~/tomcat-docker$ ll total drwxrwxr-x ...