实训C++语言设计——异常处理

news/2024/8/29 0:16:54

目的:正确理解c++的异常处理机制
              学习异常处理的定义及执行过程

内容:定义一个异常类CException ,有成员函数Reason(),用来显示异常的类型,在子函数中触发异常,在主程序中处理异常,观察程序的执行流程。

三 实验任务:在类CException的成员函数Reason()中用cout显示异常的类型,在函数fn1()中用throw触发异常,在主函数的try模板中调用 fn1(),在catch模板中捕获异常。
算法:
先根据要求定义一个类CException,然后有成员函数Reason()来显示错误信息,然后定义一个函数来完成除法功能,触发条件为除数为0,然后定义主函数来处理异常。
程序:
#include<iostream.h>
class CException
{
private:
 int dividend;
 int divisor;
public:
 void Reason(){cout<<"0不能做除数!"<<endl;}
};

float fn1(int dividend,int divisor)
{
 if(divisor==0)
  throw "错误!";
 else
  return float(dividend)/divisor;
}

void main()
{
 CException object;
 int dividend,divisor;
 float quotient;
 cout<<"请输入除数与被除数:";
 cin>>dividend>>divisor;
 try{
 quotient=fn1(dividend,divisor);
 cout<<"商是:"<<quotient<<endl;
 }catch (char *exceptionstring)
 {cout<<exceptionstring<<endl;
  object.Reason();
 }
}
 


http://www.niftyadmin.cn/n/3242408.html

相关文章

Visual Studio2010 获取时间戳c++

最近再弄时间戳&#xff0c;发现python的java的时间戳都有&#xff0c;但是唯独c的没有 网上的看了也不是真正的时间戳&#xff0c;后来研究了代码找到了系统时间戳的地方 通过调试不断跳到所需要的地方之后&#xff08;下图&#xff09;&#xff0c;找到了正在获取时间戳的函…

Android Camera2 —CameraManager API详解

一、CameraManager类概述 CameraManager是用于检测、表征和连接到 CameraDevices 的系统服务管理器。 CameraManager 是一个负责查询和建立相机连接的系统服务&#xff0c;它的功能不多&#xff0c;这里列出几个 CameraManager 的关键功能&#xff1a; 1&#xff09;、将相机…

为什么调试器会显示错误的函数

有时候在解决一些问题的时候需要使用到调试&#xff0c;这个场景很常见&#xff0c;我们在代码的某个地方设置一个断点&#xff0c;然后步进到一个函数内部单步调试&#xff0c;但是你会发现&#xff0c;调试器会显示你在另外一个函数中。这是咋回事儿&#xff1f;我们先来看看…

完美攻略心得之圣魔大战3(Castle Fantisia)艾伦希亚战记(艾伦西亚战记)包括重做版(即新艾伦希亚战记)

&#xff08;城堡幻想曲3&#xff0c;纠正大家个错误哦&#xff0c;不是圣魔大战3&#xff0c;圣魔大战是城堡幻想曲2&#xff0c;圣魔大战不是个系列,艾伦西亚战记艾伦希亚战记,一个游戏日文名&#xff1a;タイトル キャッスルファンタジア &#xff5e;エレンシア戦記&#x…

对话框管理器第一章:先热热身

我认为大家关于对话框管理器的很多困惑&#xff0c;来自于没有真正地理解它的底层工作原理。这其实也没那么糟。在接下来的几篇文章中&#xff0c;我将首先描述对话框是如何创建的&#xff0c;然后我会讲解对话框消息循环&#xff0c;最后&#xff0c;我会再介绍一些有关导航相…

.netframework游戏编程入门——模拟魔兽学院永远的羁绊

相信有很多和我一样摸索着编游戏的自学者,自学是辛苦的,一没明确的引导,二没正确的工具,我就谈一下自己的经验,也许可以让你少走一点弯路。3D 的先不谈,2D作为基础还是有必要研究,然后把地图模型一换(换成三维骨骼模型)——呵呵,好像没那么简单吧。 先在已…

城堡幻想曲圣魔大战3(Castle Fantisia)新艾伦希亚战记(即重做版) 新增剧情简介

人物表情更自然了&#xff0c;新增人物丽薇&#xff0c;添加了语音&#xff01;时间以周计算 &#xff08;城堡幻想曲3&#xff0c;纠正大家个错误哦&#xff0c;不是圣魔大战3&#xff0c;圣魔大战是城堡幻想曲2&#xff0c;圣魔大战不是个系列&#xff09; 我还纪录一些经典…

对话框管理器第二章:创建框架窗口

对话框模板包含了对话框外观的描述&#xff0c;所以对话框管理器只是简单地遍历模板并按照模板的描述来创建对话框。这个过程十分简单和直接&#xff0c;对话框管理器没有太多自己的决策空间&#xff0c;它只是按照模板说的做而已。 为了简单起见&#xff0c;我会假设这里说的对…