Book Image

C++ Windows Programming

By : Stefan Björnander
Book Image

C++ Windows Programming

By: Stefan Björnander

Overview of this book

It is critical that modern developers have the right tools to build practical, user-friendly, and efficient applications in order to compete in today’s market. Through hands-on guidance, this book illustrates and demonstrates C++ best practices and the Small Windows object-oriented class library to ease your development of interactive Windows applications. Begin with a focus on high level application development using Small Windows. Learn how to build four real-world applications which focus on the general problems faced when developing graphical applications. Get essential troubleshooting guidance on drawing, spreadsheet, and word processing applications. Finally finish up with a deep dive into the workings of the Small Windows class library, which will give you all the insights you need to build your own object-oriented class library in C++.
Table of Contents (22 chapters)
C++ Windows Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Dedication
Preface
Free Chapter
1
Introduction

Error handling


The evaluation errors are as follows:

  • Missing value: This error occurs when the cell referred in a formula does not hold a value

  • Reference out of range: This error occurs when a reference is outside the scope of the spreadsheet

  • Circular reference: This error occurs when a cell is referring to itself, directly or indirectly

  • Division by zero: This error occurs when the denominator in a division expression is zero

There is also the syntax error that occurs when the user inputs a syntactically incorrect formula.

Error.h

enum ErrorId {SyntaxError, CircularReference, ReferenceOutOfRange, 
              DivisionByZero, MissingValue}; 
 
class Error : public exception { 
  public: 
    Error(ErrorId errorId); 
    String ErrorText() const; 
 
  private: 
    ErrorId errorId; 
}; 

Error.cpp

#include "..\\SmallWindows\\SmallWindows.h" 
#include "Error.h" 
 
Error::Error(ErrorId errorId) 
 :errorId(errorId) {...