栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

异常处理机制

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

异常处理机制

异常和异常处理

程序可能遇到各种错误,比如:

  • 所需的磁盘文件被移动或删除,导致无法打开
  • 内存不足,致使通过new无法获取所需要的动态空间
  • 用户程序提供了不恰当的数据

这时,程序的正常运行无法继续,此时就会发生异常(exception)。

try-throw-catch异常处理机制

关键字try标识一个可能出现异常的程序块
关键字throw在try块中“抛出”异常——转入处理异常
关键字catch标识处理异常的程序块,“捕获”异常

#include
using namespace std;
int main(){
	try {//try程序块是“受监控的程序块”
		int i1,i2;
		char op;
		cin>>i1>>i2>>op;
		if(op=='/'){
			if(i2==0){
				throw "Divided by 0!";//抛出(char*类型)异常
			}
			...
		}
		else{
			if(op=='%'){
				if(i2==0){
					throw i1;//抛出(int)异常
				}
				...
			}
			else{
				...
			}
		}
	}
	catch(int i){//捕获int型异常的catch块
		...
	}
	catch(char* str){
		...
	}
	...//所有处理结束后,输出信息
}

C++系统对于异常处理的支持

  • C++系统提供的异常类及用户定义的异常类
  • 捕获系统函数(包括运算符)抛出的异常

多级多重异常捕获

  • 多重异常的抛出与捕获——try块中可能抛出不同类型的异常,其后有多个catch块分别进行处理
  • 多级异常处理——本层catch不能处理的异常,或需要由上层调用程序处理的异常,可以抛出到上层调用程序。因此在函数的调用——返回机制中,应包含异常抛出的信息。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号