Data Structures | Defines

script_error.hpp File Reference

Everything to query errors. More...

#include "script_object.hpp"
#include <map>

Go to the source code of this file.

Data Structures

class  ScriptError
 Class that handles all error related functions. More...

Defines

#define EnforcePrecondition(returnval, condition)
 Helper to write precondition enforcers for the AI API in an abbreviated manner.
#define EnforcePreconditionCustomError(returnval, condition, error_code)
 Helper to write precondition enforcers for the AI API in an abbreviated manner.

Detailed Description

Everything to query errors.

Definition in file script_error.hpp.


Define Documentation

#define EnforcePrecondition (   returnval,
  condition 
)
Value:
if (!(condition)) {                                           \
    ScriptObject::SetLastError(ScriptError::ERR_PRECONDITION_FAILED);   \
    return returnval;                                           \
  }

Helper to write precondition enforcers for the AI API in an abbreviated manner.

Parameters:
returnval The value to return on failure.
condition The condition that must be obeyed.

Definition at line 23 of file script_error.hpp.

Referenced by ScriptRoad::_BuildRoadInternal(), ScriptRoad::_BuildRoadStationInternal(), ScriptVehicle::_MoveWagonInternal(), ScriptVehicle::_SellWagonInternal(), ScriptOrder::_SetOrderFlags(), ScriptOrder::AppendConditionalOrder(), ScriptOrder::AppendOrder(), ScriptAirport::BuildAirport(), ScriptBridge::BuildBridge(), ScriptMarine::BuildBuoy(), ScriptMarine::BuildCanal(), ScriptCompany::BuildCompanyHQ(), ScriptMarine::BuildDock(), ScriptIndustryType::BuildIndustry(), ScriptMarine::BuildLock(), ScriptRail::BuildNewGRFRailStation(), ScriptRoad::BuildOneWayRoad(), ScriptRoad::BuildOneWayRoadFull(), ScriptRail::BuildRail(), ScriptRail::BuildRailDepot(), ScriptRail::BuildRailStation(), ScriptRail::BuildRailTrack(), ScriptRail::BuildRailWaypoint(), ScriptRoad::BuildRoadDepot(), ScriptSign::BuildSign(), ScriptRail::BuildSignal(), ScriptTunnel::BuildTunnel(), ScriptVehicle::BuildVehicle(), ScriptMarine::BuildWaterDepot(), ScriptVehicle::CloneVehicle(), ScriptRail::ConvertRailType(), ScriptOrder::CopyOrders(), ScriptSubsidy::Create(), ScriptNews::Create(), ScriptGroup::DeleteGroup(), ScriptTile::DemolishTile(), ScriptGroup::EnableAutoReplaceProtection(), ScriptTown::ExpandTown(), ScriptOrder::InsertConditionalOrder(), ScriptOrder::InsertOrder(), ScriptTile::LevelTiles(), ScriptTile::LowerTile(), ScriptOrder::MoveOrder(), ScriptGroup::MoveVehicle(), ScriptGoal::New(), ScriptTown::PerformTownAction(), ScriptTile::PlantTree(), ScriptTile::PlantTreeRectangle(), ScriptIndustryType::ProspectIndustry(), ScriptTile::RaiseTile(), ScriptVehicle::RefitVehicle(), ScriptGoal::Remove(), ScriptAirport::RemoveAirport(), ScriptBridge::RemoveBridge(), ScriptMarine::RemoveBuoy(), ScriptMarine::RemoveCanal(), ScriptMarine::RemoveDock(), ScriptMarine::RemoveLock(), ScriptOrder::RemoveOrder(), ScriptRail::RemoveRail(), ScriptRail::RemoveRailStationTileRectangle(), ScriptRail::RemoveRailTrack(), ScriptRail::RemoveRailWaypointTileRectangle(), ScriptRoad::RemoveRoad(), ScriptRoad::RemoveRoadDepot(), ScriptRoad::RemoveRoadFull(), ScriptRoad::RemoveRoadStation(), ScriptSign::RemoveSign(), ScriptRail::RemoveSignal(), ScriptTunnel::RemoveTunnel(), ScriptMarine::RemoveWaterDepot(), ScriptVehicle::ReverseVehicle(), ScriptVehicle::SellVehicle(), ScriptVehicle::SendVehicleToDepot(), ScriptVehicle::SendVehicleToDepotForServicing(), ScriptGroup::SetAutoReplace(), ScriptTown::SetCargoGoal(), ScriptTown::SetGrowthRate(), ScriptCompany::SetLoanAmount(), ScriptCompany::SetMinimumLoanAmount(), ScriptVehicle::SetName(), ScriptSign::SetName(), ScriptGroup::SetName(), ScriptCompany::SetName(), ScriptBaseStation::SetName(), ScriptOrder::SetOrderCompareFunction(), ScriptOrder::SetOrderCompareValue(), ScriptOrder::SetOrderCondition(), ScriptOrder::SetOrderJumpTo(), ScriptOrder::SetOrderRefit(), ScriptCompany::SetPresidentGender(), ScriptCompany::SetPresidentName(), ScriptOrder::SetStopLocation(), ScriptTown::SetText(), ScriptOrder::ShareOrders(), ScriptOrder::SkipToOrder(), ScriptVehicle::StartStopVehicle(), ScriptGroup::StopAutoReplace(), and ScriptOrder::UnshareOrders().

#define EnforcePreconditionCustomError (   returnval,
  condition,
  error_code 
)
Value:
if (!(condition)) {                                                      \
    ScriptObject::SetLastError(error_code);                                    \
    return returnval;                                                      \
  }

Helper to write precondition enforcers for the AI API in an abbreviated manner.

Parameters:
returnval The value to return on failure.
condition The condition that must be obeyed.
error_code The error code passed to ScriptObject::SetLastError.

Definition at line 35 of file script_error.hpp.

Referenced by ScriptSign::BuildSign(), ScriptVehicle::BuildVehicle(), ScriptVehicle::SetName(), ScriptSign::SetName(), ScriptGroup::SetName(), ScriptCompany::SetName(), and ScriptBaseStation::SetName().