00001
00002
00004
00005 #if !defined(AFX_DIVIDEBYZEROEXCEPTION_H__9CF48763_105C_4B16_BAEB_3582287654E7__INCLUDED_)
00006 #define AFX_DIVIDEBYZEROEXCEPTION_H__9CF48763_105C_4B16_BAEB_3582287654E7__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include "ArithmeticException.h"
00013
00014
00015
00016
00018
00019 class DivideByZeroException : public ArithmeticException
00020 {
00021 public:
00022
00023 DivideByZeroException() throw();
00024
00025 DivideByZeroException(std::string sExpressionToCompute,std::string sZeroValue) throw();
00026
00027 DivideByZeroException(std::string sExpressionToCompute,std::string sZeroValue,std::string sOrigin,std::string sFileName,unsigned int iLineNumber) throw();
00028
00029
00030 virtual ~DivideByZeroException() throw();
00031
00032
00033 virtual std::string makeDescription();
00034
00035 virtual std::string makeReason();
00036
00037 virtual std::string makeOrigin(std::string sOrigin);
00038
00039 private:
00040
00041 std::string _sExpressionToCompute;
00042
00043 std::string _sZeroValue;
00044 };
00045
00046 #endif // !defined(AFX_DIVIDEBYZEROEXCEPTION_H__9CF48763_105C_4B16_BAEB_3582287654E7__INCLUDED_)