c++异常除以0
要不依赖于系统,不论在何种系统中运行当遇到除以0的情况都会以同样的方式予以处理要怎么自定义一个异常类,当除以0的时候报错是C++不是JAVA要有详细解释,新手。,...
要不依赖于系统,不论在何种系统中运行当遇到除以0的情况都会以同样的方式予以处理
要怎么自定义一个异常类,当除以0的时候报错
是C++不是JAVA
要有详细解释,新手。, 展开
要怎么自定义一个异常类,当除以0的时候报错
是C++不是JAVA
要有详细解释,新手。, 展开
展开全部
C++没有什么异常类,又不是JAVA。。。
除以0错误,不是语言的错误,是CPU执行指令在这种情况下就会抛出软中断,语言只是做相应处理,C++把它作为异常。
Linux我不知道,Windows下的话,你可以自定义全局异常处理函数,用SetUnhandledExceptionFilter设置,然后实现你的异常处理函数。查查MSDN函数用法吧。
除以0错误,不是语言的错误,是CPU执行指令在这种情况下就会抛出软中断,语言只是做相应处理,C++把它作为异常。
Linux我不知道,Windows下的话,你可以自定义全局异常处理函数,用SetUnhandledExceptionFilter设置,然后实现你的异常处理函数。查查MSDN函数用法吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要的那个类其实就一个函数,调用除法。
只是在除之前,先check一下除数是否为0:
如果为0直接报错,就不去除了,
如果不为0 ,再去除,返回结果,最好double型。
只是在除之前,先check一下除数是否为0:
如果为0直接报错,就不去除了,
如果不为0 ,再去除,返回结果,最好double型。
追问
这样用If也可以解决
但是我想要用try catch
要有自己定义的异常类,怎么弄
因为系统有些除以0是不异常的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdafx.h"
#include <windows.h> // for EXCEPTION_ACCESS_VIOLATION
#include <excpt.h>
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
int i = 1;
int j = 0;
__try
{
i /= j;
}
__except(GetExceptionCode() == EXCEPTION_INT_DIVIDE_BY_ZERO ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
cout << "除0异常" << endl;
}
return 0;
}
#include <windows.h> // for EXCEPTION_ACCESS_VIOLATION
#include <excpt.h>
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
int i = 1;
int j = 0;
__try
{
i /= j;
}
__except(GetExceptionCode() == EXCEPTION_INT_DIVIDE_BY_ZERO ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
cout << "除0异常" << endl;
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询