关闭

c++ 简单的异常

179人阅读 评论(0) 收藏 举报
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <windows.h>
using namespace std;
double divv(int x, int y)
{
	try
	{
		if (y==0)
		{
			throw 1;//抛出
		}
		else if (x==0)
		{
			throw 2;
		}
		return x*1.0 / y;
	}
	catch (int code)
	{
		if (code==1)
		{
			cout << "错误" << endl;
		}else if (code==2)
		{
			cout << "除数为0" << endl;
		}
		return -1.0;
	}
}
double  divvstr(int x,int y)
{
	try
	{
		if (y == 0)
		{
			throw "str你输入的被除数为0";//抛出
		}
		else if (x == 0)
		{
			throw "str你输入的除数为0";
		}
		cout << "继续执行" << endl;
		return x*1.0 / y;
	}
	/*catch (const char * errorstr)
	{
		if (code == 1)
		{
			cout << "错误" << endl;
		}
		else if (code == 2)
		{
			cout << "除数为0" << endl;
		}
		return -1.0;*/
	catch (const char *errorstr)
	{
		if (strcmp(errorstr, "str你输入的被除数为0")==0)
		{
			cout << errorstr << endl;
		}
		else if (strcmp(errorstr, "str你输入的被除数为0") == 0)
		{
			cout << errorstr << endl;
		}
		return 0;
	}
}
void main()
{
	int x, y;
	cin >> x >> y;//输入xy
	cout << "x=" << x << endl
		<< "y=" << y << endl
		//<<"x/y="<<divv(x,y)<<endl;
		<< "x/y=" << divvstr(x, y) << endl;
	system("pause");
}

x/y因为没有返回值,系统选的垃圾值

0
0
查看评论

C++异常处理实例

/************************************************************************************************ * 名 称:exceptions.cpp * 功 能:学习C++ Premi
  • JarvisChu
  • JarvisChu
  • 2011-07-22 22:41
  • 4030

C++异常及错误处理

计算机应用程序中离不开错误处理,尤其是生产型大型软件系统。应用软件系统运行属于循环处理事务,出错后需要保证不能让软件程序直接退出。这就需要使用一定的程序容错处理来应对。一般情况下,大型软件开发中的软件系统容错处理会结合异常处理、错误代码定义的使用与相应的出错处理日志记录,包括一定的参与大型生产系统的...
  • u010982858
  • u010982858
  • 2015-01-08 23:26
  • 1007

C/C++学习笔记八(断言与异常处理)

断言断言是什么?简单而言,断言是对某种假设条件进行检查。 C语言中,在assert.h中,断言被定义为宏的形式(assert(expression)),而不是函数。 assert将通过检查表达式的值来决定是否需要终止程序,如果表达式为真(1)则忽略断言,程序继续运行。如果表达式为假(0),那么首...
  • u013230511
  • u013230511
  • 2017-08-13 18:36
  • 279

java简单异常的处理

package class2; public class Demo3 {  public static void main(String args[])  {   try   {    int a = 5; &...
  • abc5382334
  • abc5382334
  • 2013-10-18 09:59
  • 1978

第二章 从一个最简短的C++程序讲起

1 简单的屏幕输出小程序#include<iostream> int main() { std::cout<<"我喜欢c++\n"; int x; std::cin>>x; std::cout<<x;...
  • yongchaocsdn
  • yongchaocsdn
  • 2017-02-25 14:22
  • 3911

C++--异常(Exceptions)

C++--异常(Exceptions)     1.概况          异常即程序运行是发生错误。在C语言中通常用返回值来判断异常,返回值可以是bool型,用true表示无异常,false...
  • u011763045
  • u011763045
  • 2014-03-23 00:13
  • 1183

[C++]详解异常处理(Exception Handling) 及标准库异常处理类

详解异常处理(Exception Handling) 及标准库异常处理类 异常处理,英文名为exceptional handling, 是代替日渐衰落的error code方法的新法,提供error code 所未能具体的优势。异常处理分离了接收和处理错误代码。这个功能理清了编程者的思绪,也帮助...
  • stary_yan
  • stary_yan
  • 2016-04-30 11:00
  • 994

C++最简单的日志库

一个轻量级c++日志库,只包含一个h文件和一个cpp文件,源码清单。
  • lee353086
  • lee353086
  • 2015-04-10 11:40
  • 1289

C++的异常捕捉

开发C++也有挺长时间了,异常捕捉一直用的比较少: 最近开始有所涉猎,简单总结如下 1. 第一种逻辑异常 try{...} catch(){...} finally{...} 这种用于捕捉程序自定义的异常:throw出的异常 2. 系统异常 __try{...} __except(){......
  • chunyexiyu
  • chunyexiyu
  • 2015-12-05 22:38
  • 1113

一个简单的c/c++程序

1. int main() { return 0; } 备注: (1)ANSI C/C++规定,main方法的返回值类型为int (2)return 0代表main成功执行,return非零值表示main执行失败。如果是return 0,那么可以省略,os调用main时自动会在最后一...
  • wangjianno2
  • wangjianno2
  • 2016-02-18 00:17
  • 321
    个人资料
    • 访问:44709次
    • 积分:671
    • 等级:
    • 排名:千里之外
    • 原创:40篇
    • 转载:7篇
    • 译文:0篇
    • 评论:2条
    文章分类