Wanneer een error gooien
Op dit moment zie ik door de bomen het bos niet meer en loop ik nogal vast in bepaalde situaties waar ik niet weet of ik nu wel of niet een error moet gooien.
Ik heb het object "Game" met de method "start", deze heeft de volgende code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (this._gameLoop.isRunning())
{
if (this._gameStateManager.hasCurrentGameState())
{
this._gameLoop.start();
}
else
{
throw new Error("The GameStateManager has no current GameState");
}
}
else
{
throw new Error("The GameLoop has already been started");
}
{
if (this._gameStateManager.hasCurrentGameState())
{
this._gameLoop.start();
}
else
{
throw new Error("The GameStateManager has no current GameState");
}
}
else
{
throw new Error("The GameLoop has already been started");
}
Nu twijfel ik dus of ik hier wel error(s) zou moeten gooien. De inhoud van de "start" method van het "GameLoop" object is namelijk als volgt:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if (!this.isRunning())
{
this._requestId = window.requestAnimationFrame(this.onAnimtionFrame.bind(this));
}
else
{
throw new Error("The GameLoop has already been started");
}
{
this._requestId = window.requestAnimationFrame(this.onAnimtionFrame.bind(this));
}
else
{
throw new Error("The GameLoop has already been started");
}
Waar ik dus niet uit kom, is of ik in het "Game" object wel een controle moet doen of de "GameLoop" al is gestart of niet, en zo ja, een error moet gooien. Precies hetzelfde gebeurd namelijk al in de method zelf.
Naast bovenstaand voorbeeld kom ik vaker in deze situatie terecht, bijvoorbeeld:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if (this._gameStageManager.hasKey("default"))
{
this._gameStageManager.getGameStageByKey("default").fillRectangle(0, 0, 32, 32);
}
else
{
throw new Error("The key \"default\" does not exist");
}
{
this._gameStageManager.getGameStageByKey("default").fillRectangle(0, 0, 32, 32);
}
else
{
throw new Error("The key \"default\" does not exist");
}
Bovenstaande code staat in de method "render" van het object "Block" en moet een vierkant tekenen.
Ook hier check ik eerst of de key bestaat, zo ja, kan deze worden gebruikt, zo nee, wordt er een error gegooid.
Wanneer ik NIET controleer of de key bestaat, zal er natuurlijk ook een error worden gegooid door "getGameStageByKey", dus is die hele check wel nodig?
Ik hoop dat iemand me kan uitleggen wanneer nou wel of niet een error moet worden gegooid.
Alvast bedankt!
- Ariën -:
Topictitel gewijzigd
Gewijzigd op 07/12/2016 20:32:36 door - Ariën -
Er zijn nog geen reacties op dit bericht.