forked from ivogeorg/ucd-csci2312-pa4
/
Exceptions.cpp
109 lines (90 loc) · 2.7 KB
/
Exceptions.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//
// Created by kai on 4/17/16.
//
#include"Exceptions.h"
namespace Gaming
{
void GamingException::setName(std::string name)
{
__name = name;
}
std::ostream& operator<<(std::ostream &os, const GamingException &ex)
{
os << ex.getName() << std::endl;
ex.__print_args(os);
return os;
}
//DimensionEx stuff
DimensionEx::DimensionEx(unsigned int expWidth, unsigned int expHeight, unsigned int width, unsigned int height)
{
__exp_width=expWidth;
__exp_height=expHeight;
__width=width;
__height=height;
setName("DimensionEx");
}
unsigned int DimensionEx::getExpWidth() const
{
return __exp_width;
}
unsigned int DimensionEx::getExpHeight() const
{
return __exp_height;
}
unsigned int DimensionEx::getWidth() const
{
return __width;
}
unsigned int DimensionEx::getHeight() const
{
return __height;
}
void InsufficientDimensionsEx::__print_args(std::ostream &os) const
{
os << "minWidth: " << getExpWidth() << ", minHeight: " << getExpHeight()
<< "\nWidth: " << getWidth() << ", Height: " << getHeight() << std::endl;
}
InsufficientDimensionsEx::InsufficientDimensionsEx(unsigned int minWidth, unsigned int minHeight, unsigned int width, unsigned int height):
DimensionEx(minWidth, minHeight, width, height)
{
setName("InsufficientDimensionsEx");
}
void OutOfBoundsEx::__print_args(std::ostream &os) const
{
os << "maxWidth: " << getExpWidth() << ", maxHeight: " << getExpHeight()
<< "\nWidth: " << getWidth() << ", Height: " << getHeight() << std::endl;
}
OutOfBoundsEx::OutOfBoundsEx(unsigned maxWidth, unsigned maxHeight, unsigned width, unsigned height):
DimensionEx(maxWidth, maxHeight, width, height)
{
setName("OutOfBoundsEx");
}
//PositionEx stuff
void PositionEx::__print_args(std::ostream &os) const
{ os << "x: " << __x << ", y: " << __y << std::endl; }
PositionEx::PositionEx(unsigned x, unsigned y)
{
__x=x;
__y=y;
setName("PositionEx");
}
//PositionNonemptyEx stuff
PositionNonemptyEx::PositionNonemptyEx(unsigned x, unsigned y):
PositionEx(x,y)
{
setName("PositionNonemptyEx");
}
//PositionEmptyEx stuff
PositionEmptyEx::PositionEmptyEx(unsigned x, unsigned y):
PositionEx(x,y)
{
setName("PositionEmptyEx");
}
//PosVectorEmptyEx stuff
void PosVectorEmptyEx::__print_args(std::ostream &os) const {
}
PosVectorEmptyEx::PosVectorEmptyEx()
{
setName("PosVectorEmptyEx");
}
}