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("打开源文件出错\n");
break;
case 2:
printf("打开目标文件出错\n");
break;
case 3:
printf("拷贝文件出错\n");
break;
default:
printf("未知错误\n");
break;
}
}
system("pause");
return 0;
}
c++ throw异常(学习)的更多相关文章
- “全栈2019”22篇Java异常学习资料及总结
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"22篇Ja ...
- 2.Java异常学习
1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...
- 异常学习笔记+打包+doc该软件包编译
jvm调用默认的异常处理机制printStackTrace办法 欲了解更多异常处理.问题 捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 watermark/2 ...
- Java异常学习总结一
Java中的异常 定义 异常(Exception)就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序. 常见类型举例 所需文件找不到(ClassNotFoundException) 网 ...
- c++异常——学习笔记
1.异常 throw抛出字符串 最好的是:throw抛出对象. catch(...){} 2.使用标准异常类 #include<new> bitset 自己写一个异常 设计自己异常类 堆栈 ...
- Python错误和异常学习
一:错误解释 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 代码运行前的语法或者逻辑错误,语法错误在执行前修改,逻辑错误无法修改 二:异常 执行过程 ...
- Java异常学习总结二
异常的处理方式 方式一:捕获异常(try-catch-finally) 捕获异常是通过三个关键词来实现的:try-catch-finally.用try来执行一段程序,如果出现异常,系统抛出一个异常,可 ...
- Python错误和异常 学习笔记
错误和异常概念 错误: 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行 1.程序遇到 ...
- Hibernate search与Lucene包异常学习心得
最近使用了了一下Hibernate Search这个组件 这个组件是对域模型进行全文检索,在全文检索的底层实现上使用了Lucene技术 在进行小测试的时候费了很大的力气去搞定包的问题 我直接通过实例 ...
随机推荐
- Image Processing and Analysis_8_Edge Detection:Statistical edge detection_ learning and evaluating edge cues——2003
此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...
- Go语言——概念
静态类型.动态类型.潜在类型 静态类型:指在变量声明中示出的那个类型.绝大多数类型都只有静态类型.唯独接口类型的变量例外,他除了拥有静态类型之外,还拥有动态类型. 动态类型:指在运行时与该变量绑定在一 ...
- Linux学习笔记(七)Linux常用命令:挂载命令
一.查询与自动挂载 mount 查询系统中以及挂载的设备 mount -a 依据配置文件 etc/fstab的内容,自动挂载 二.挂载命令 特殊选项 三.挂载光盘 光盘的设备名是默认已知的,为sr0 ...
- java学习笔记15-封装
把属性(成员变量)设置为私有(private),把方法设置为共有的(public),假如外界想要得到或者改变某个属性,只能通过方法来办到,这其实是封装的思想之一. 新建一个Student类,这个类有几 ...
- Jupyter的学习
一 .Jupyter中的魔术命令 %load test.py :”可以将test.py 中的文件加载到jupyter框中 %matplotlib inline :可以将Matplotlib 的结果嵌 ...
- vue1 动态组件
- mysql数据库NOW()和DATE_FORMAT()日期字段和当前日期作比较
select * from xxxx where date_format(APPOINTMENT,'%Y-%m-%d-%H-%i-%S') < date_format(now(),'%Y-%m- ...
- Java8-Lambda-No.01
import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util ...
- http 内容协商返回最适合的内容
内容协商返回最命适的内容AcceptAccept-CharsetAccept-EncodingAccept-LanguageContent-Language内容协商技术有以下 3 种类型.服务器驱动协 ...
- CF55D Beautiful numbers (数位dp)
题目链接 题解 一个数能被一些数整除,那么一定被这些数的\(lcm\)整除 那么我们容易想到根据\(lcm\)设状态 我们可以发现有用的\(lcm\)只有\(48\)个 那么按照一般的数位\(dp\) ...