PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
PError Namespace Reference

Functions

void SignalFatalError (const std::string &message)
 
void SignalWarning (const std::string &message)
 
void AssertType (Variant v, int type, const std::string &outsidemessage)
 
std::string GetTypeName (Variant v)
 
void ExitQuietly (const std::string &message, int exitCode=0)
 

Variables

bool gShowErrorDialogs = true
 
bool gValidatorMode = false
 

Function Documentation

◆ AssertType()

void PError::AssertType ( Variant  v,
int  type,
const std::string &  outsidemessage 
)

Referenced by PEBLObjects::AddObject(), PEBLList::Append(), PEBLStream::AppendFile(), PEBLObjects::Bezier(), PEBLEnvironment::CallFunction(), PEBLEnvironment::CheckProcessStatus(), PEBLObjects::Circle(), PEBLStream::CopyFile(), PEBLEnvironment::CopyToClipboard(), PEBLString::CopyToClipboard(), PEBLList::CrossFactorWithoutDuplicates(), PEBLEnvironment::DeleteFile(), PEBLList::DesignFullCounterbalance(), PEBLString::DetectTextScript(), PEBLObjects::Draw(), PEBLObjects::DrawFor(), PEBLObjects::Ellipse(), PEBLStream::EndOfFile(), PEBLStream::EndOfLine(), Evaluator::Evaluate(), Evaluator::Evaluate1(), PEBLList::Fifth(), PEBLStream::FileClose(), PEBLEnvironment::FileExists(), PEBLStream::FileOpenAppend(), PEBLStream::FileOpenOverwrite(), PEBLStream::FileOpenRead(), PEBLStream::FileOpenWrite(), PEBLStream::FilePrint(), PEBLStream::FilePrint_(), PEBLStream::FileReadCharacter(), PEBLStream::FileReadLine(), PEBLStream::FileReadList(), PEBLStream::FileReadTable(), PEBLStream::FileReadText(), PEBLStream::FileReadWord(), PEBLString::FindInString(), PEBLList::First(), PEBLList::Fourth(), PEBLObjects::GetAudioStats(), PEBLObjects::GetCursorPosition(), PEBLEnvironment::GetDirectoryListing(), PEBLString::GetFontForText(), PEBLEnvironment::GetInput0(), PEBLEnvironment::GetJoystick(), PEBLEnvironment::GetJoystickAxisState(), PEBLEnvironment::GetJoystickBallState(), PEBLEnvironment::GetJoystickButtonState(), PEBLEnvironment::GetJoystickHatState(), PEBLObjects::GetLineBreaks(), PEBLEnvironment::GetNumJoystickAxes(), PEBLEnvironment::GetNumJoystickBalls(), PEBLEnvironment::GetNumJoystickButtons(), PEBLEnvironment::GetNumJoystickHats(), PEBLObjects::GetParent(), PEBLObjects::GetPixelColor(), PEBLObjects::GetProperty(), PEBLObjects::GetPropertyList(), PEBLObjects::GetSize(), PEBLObjects::GetText(), PEBLEnvironment::GetTextBoxCursorFromClick(), PEBLObjects::Hide(), PEBLEnvironment::IsDirectory(), PEBLEnvironment::IsKeyDown(), PEBLEnvironment::IsKeyUp(), PEBLList::IsMember(), PEBLString::IsRTL(), PEBLList::Last(), PEBLList::Length(), PEBLObjects::Line(), PEBLList::ListToString(), PEBLObjects::LoadAudioFile(), PEBLObjects::LoadMovie(), PEBLObjects::LoadSound(), PEBLString::Lowercase(), PEBLObjects::MakeAudioInputBuffer(), PEBLObjects::MakeCanvas(), PEBLObjects::MakeColorRGB(), PEBLEnvironment::MakeDirectory(), PEBLObjects::MakeFont(), PEBLObjects::MakeImage(), PEBLObjects::MakeLabel(), PEBLObjects::MakeSineWave(), PEBLObjects::MakeTextBox(), PEBLObjects::MakeWindow(), PEBLStream::MD5File(), PEBLStream::MD5Sum(), PEBLList::Merge(), PEBLMath::Mod(), PEBLList::ModList(), PEBLObjects::Move(), PEBLList::Nth(), PEBLStream::ParseJSON(), PEBLObjects::PausePlayback(), PEBLObjects::PlayBackground(), PEBLObjects::PlayForeground(), PEBLEnvironment::PlayMovie(), PEBLObjects::Polygon(), PEBLObjects::PrintProperties(), PEBLObjects::PropertyExists(), PEBLList::PushOnEnd(), PEBLMath::RandomBernoulli(), PEBLMath::RandomBinomial(), PEBLMath::RandomDiscrete(), PEBLMath::RandomExponential(), PEBLMath::RandomLogNormal(), PEBLMath::RandomNormal(), PEBLMath::RandomUniform(), PEBLObjects::RecordToBuffer(), PEBLObjects::Rectangle(), PEBLString::RegexMatch(), PEBLEnvironment::RegisterEvent(), PEBLObjects::RemoveObject(), PEBLList::Repeat(), PEBLList::RepeatList(), PEBLObjects::ResizeWindow(), PEBLList::Rotate(), PEBLObjects::RotoZoom(), PEBLMath::Round(), PEBLObjects::SaveAudioToWaveFile(), PEBLList::Second(), PEBLMath::SeedRNG(), PEBLList::Sequence(), PEBLEnvironment::SetCursorPosition(), PEBLObjects::SetCursorPosition(), PEBLObjects::SetEditable(), PEBLList::SetElement(), PEBLObjects::SetFont(), PEBLObjects::SetPanning(), PEBLObjects::SetPlayRepeats(), PEBLObjects::SetPoint(), PEBLObjects::SetProperty(), PEBLObjects::SetText(), PEBLEnvironment::SetWorkingDirectory(), PEBLObjects::Show(), PEBLEnvironment::ShowCursor(), PEBLList::Shuffle(), PEBLList::Sort(), PEBLList::SortBy(), PEBLString::SplitString(), PEBLObjects::Square(), PEBLObjects::StartAudioMonitor(), PEBLObjects::StartPlayback(), PEBLObjects::Stop(), PEBLObjects::StopAudioMonitor(), PEBLString::StringLength(), PEBLList::SubList(), PEBLString::SubString(), PEBLObjects::ThickLine(), PEBLList::Third(), PEBLString::ToASCII(), PEBLEnvironment::TranslateKeyCode(), PEBLEnvironment::TranslateString(), PEBLList::Transpose(), PEBLString::Uppercase(), PEBLEnvironment::Wait(), PEBLEnvironment::WaitForAnyKeyDownWithTimeout(), PEBLEnvironment::WaitForAnyKeyPressWithTimeout(), PEBLEnvironment::WaitForKeyDown(), PEBLEnvironment::WaitForKeyListDown(), PEBLEnvironment::WaitForKeyPress(), PEBLEnvironment::WaitForKeyRelease(), PEBLEnvironment::WaitForKeyUp(), PEBLEnvironment::WaitForListKeyPress(), PEBLEnvironment::WaitForListKeyPressWithTimeout(), PEBLEnvironment::WaitForMouseButtonWithTimeout(), and PEBLStream::WritePNG().

◆ ExitQuietly()

void PError::ExitQuietly ( const std::string &  message,
int  exitCode = 0 
)

Definition at line 126 of file PError.cpp.

127{
128 cerr << message << endl;
129 raise(SIGTERM);
130 exit(exitCode);
131}

Referenced by Evaluator::Evaluate1(), PEBLEnvironment::ExitQuietly(), and PlatformEventQueue::Prime().

◆ GetTypeName()

string PError::GetTypeName ( Variant  v)

Definition at line 547 of file PError.cpp.

548{
549 //Get the name of the type: if it a complex data type, extract the name from that structure.
550 string typeName;
551 if(v.IsComplexData())
552 {
553 typeName = (v.GetComplexData())->GetTypeName();
554 }
555 else
556 {
557 typeName = v.GetDataTypeName();
558 }
559
560 return typeName;
561}
bool IsComplexData() const
Definition Variant.cpp:984
PComplexData * GetComplexData() const
Definition Variant.cpp:1299
std::string GetDataTypeName() const
This returns the type as a string.
Definition Variant.cpp:891
std::string GetTypeName(Variant v)
Definition PError.cpp:547

References Variant::GetComplexData(), Variant::GetDataTypeName(), GetTypeName(), and Variant::IsComplexData().

Referenced by GetTypeName().

◆ SignalFatalError()

void PError::SignalFatalError ( const std::string &  message)

Referenced by PEBLMath::Abs(), PEBLMath::AbsFloor(), PEBLMath::ACos(), PlatformWidget::AddSubWidget(), PEBLStream::AppendFile(), PEBLMath::ASin(), PEBLMath::ATan(), Evaluator::CallFunction(), PEBLMath::Ceiling(), PlatformAudioOut::ConvertAudio(), PEBLStream::CopyFile(), PEBLMath::Cos(), PEBLMath::DegToRad(), PEBLMath::Div(), PlatformCircle::Draw(), PlatformWindow::Draw(), DrawTextHB(), Evaluator::Evaluate(), Evaluator::Evaluate(), Evaluator::Evaluate(), Evaluator::Evaluate1(), Evaluator::Evaluate1(), Evaluator::Evaluate1(), PEBLMath::Exp(), PEBLStream::FileReadList(), PEBLStream::FileReadTable(), PEBLStream::FileReadText(), PList::First(), PEBLMath::Floor(), PEBLStream::Format(), PEBLObjects::GetAudioStats(), SDLUtility::GetCurrentScreenResolution(), PEBLUtility::GetDirectoryListing(), FunctionMap::GetFunction(), Variant::GetFunctionName(), PEBLUtility::GetHomeDirectory(), PlatformEnvironment::GetJoystick(), PKeyboard::GetModKeys(), PEBLObjectBase::GetProperty(), PEvent::GetState(), Variant::GetVariableBaseName(), Variant::GetVariableName(), Variant::GetVariablePropertyName(), PEBLObjects::GetVocalResponseTime(), PParallelPort::Init(), PlatformWindow::Initialize(), PEBLPath::Initialize(), PList::Last(), PEBLMath::Ln(), PlatformImageBox::LoadImage(), Loader::LoadLibraryFunctions(), PlatformAudioOut::LoadSoundFile(), Loader::LoadUserFunctions(), PEBLMath::Log10(), PEBLMath::Log2(), PEBLMath::LogN(), main(), PEBLObjects::MakeAudioInputBuffer(), PEBLObjects::MakeChirp(), PEBLUtility::MakeDirectory(), PEBLList::MakeMap(), PEBLObjects::MakeSawtoothWave(), PEBLObjects::MakeSquareWave(), PEBLObjects::MakeWindow(), PEBLUtility::MD5File(), PList::Nth(), PEBLMath::NthRoot(), PStream::Open(), Variant::operator=(), PEBLInterpret(), Evaluator::Peek(), Evaluator::Peek(), PlatformAudioOut::PlatformAudioOut(), PlatformFont::PlatformFont(), PlatformJoystick::PlatformJoystick(), PEBLEnvironment::PlayMovie(), Evaluator::Pop(), PEBLMath::Pow(), Evaluator::Push(), Evaluator::Push(), PEBLMath::RadToDeg(), PEBLMath::RandomNormal(), PEBLMath::RandomUniform(), PStream::ReadChar(), PStream::ReadLine(), PStream::ReadLineClean(), PStream::ReadToken(), PEBLObjects::RecordToBuffer(), PEBLEnvironment::RegisterEvent(), PEBLList::Remove(), PEBLList::RemoveDuplicates(), PEBLObjects::RemoveObject(), PlatformTextBox::RenderText(), PlatformFont::RenderText(), PEBLList::RepeatExpression(), PlatformCanvas::Reset(), PEBLUtility::ResolvePropertyChain(), VariableMap::RetrieveValue(), PEBLObjects::RotoZoom(), PEBLMath::Round(), PEBLList::Sequence(), PTextObject::SetDirection(), PList::SetElement(), PEBLObjectBase::SetProperty(), PWidget::SetProperty(), PEBLUtility::SetPropertyChain(), PEBLUtility::SetWorkingDirectory(), PEBLMath::Sign(), PEBLEnvironment::SignalFatalError(), PEBLMath::Sin(), PEBLMath::Sqrt(), PEBLObjects::StartAudioMonitor(), PEBLObjects::StopAudioMonitor(), PEBLList::SubList(), PEBLString::SubString(), PEBLMath::Tan(), PEBLList::Transpose(), Variant::Variant(), Variant::Variant(), PStream::WriteBuffer(), PStream::WriteChar(), and PStream::WriteString().

◆ SignalWarning()

void PError::SignalWarning ( const std::string &  message)

Definition at line 119 of file PError.cpp.

120{
121 const PNode * node = Evaluator::gEvalNode;
122 cerr << "Non-fatal Warning in line " << node->GetLineNumber() << " of file " << node->GetFilename() << ":\n\t";
123 cerr << message << endl;
124}
static const PNode * gEvalNode
Definition PNode.h:45
int GetLineNumber() const
Definition PNode.h:69
std::string GetFilename() const
Definition PNode.h:68

References PNode::GetFilename(), PNode::GetLineNumber(), and Evaluator::gEvalNode.

Referenced by PEBLStream::AppendFile(), PEBLEnvironment::CheckProcessStatus(), PEBLStream::ConnectToHost(), PEBLStream::ConnectToIP(), PlatformAudioOut::ConvertAudio(), PEBLStream::CopyFile(), SDLUtility::CopyToClipboard(), PEBLStream::FileOpenWrite(), PlatformAudioOut::GetAudioInfo(), PlatformJoystick::GetBallState(), PlatformJoystick::GetButtonState(), Variant::GetFloat(), PEBLString::GetFontForText(), PlatformJoystick::GetHatState(), Variant::GetInteger(), PlatformEnvironment::GetNumJoysticks(), Variant::GetString(), PEBLPath::Initialize(), PlatformAudioOut::LoadSoundFromData(), main(), PEBLObjects::MakeSineWave(), PEBLStream::OpenNetworkListener(), PEBLInterpret(), PlatformEventQueue::Prime(), PEBLMath::RandomDiscrete(), PlatformFont::RenderText(), PlatformAudioOut::SaveBufferToWave(), PColor::SetColorByName(), PEBLStream::SetNetworkPort(), PEBLEnvironment::SystemCallUpdate(), PEBLStream::WaitForNetworkConnection(), and PEBLStream::WritePNG().

Variable Documentation

◆ gShowErrorDialogs

bool PError::gShowErrorDialogs = true
extern

Definition at line 56 of file PError.cpp.

Referenced by main().

◆ gValidatorMode

bool PError::gValidatorMode = false
extern

Definition at line 59 of file PError.cpp.

Referenced by main().