except.cpp
来自「Shorthand是一个强大的脚本语言」· C++ 代码 · 共 115 行
CPP
115 行
///////////////////////////////////////////////////////////////////////////////
// $Header: /shorthand/src/except.cpp 5 8/28/02 6:27a Arm $
//-----------------------------------------------------------------------------
// Project: ShortHand interpreter
// Author: Andrei Remenchuk <andrei@remenchuk.com>
//-----------------------------------------------------------------------------
// except.cpp: ShortHand exceptions
///////////////////////////////////////////////////////////////////////////////
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "except.h"
#include "utils.h"
#include "sherr.h"
ShhException::ShhException()
{
m_message = NULL;
m_code = 0;
}
ShhException::ShhException(const char* format, ...)
{
va_list args; va_start(args, format);
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = 0;
}
ShhException::ShhException(int code, const char* format, ...)
{
va_list args; va_start(args, format);
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = code;
}
ShhException::ShhException(const char* format, va_list args)
{
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = 0;
}
const char* ShhException::href() const
{
if (m_hyperlink.is_empty())
{
shh_error_href(m_code, m_hyperlink);
}
return m_hyperlink;
}
ShhObjectException::ShhObjectException()
{
}
ShhObjectException::ShhObjectException(const char* format, ...)
{
va_list args; va_start(args, format);
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = 0;
}
ShhObjectException::ShhObjectException(int code, const char* format, ...)
{
va_list args; va_start(args, format);
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = code;
}
ShhObjectException::ShhObjectException(const char* format, va_list args)
{
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = 0;
}
ShhFunctionException::ShhFunctionException(int code, const char* format, ...)
{
va_list args; va_start(args, format);
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = code;
}
ShhFunctionException::ShhFunctionException(int code, const char* format, va_list args)
{
int w = vawidth(format, &args);
m_message = (char*) malloc(w+1);
vsprintf(m_message, format, args);
m_code = code;
}
ShhException::~ShhException()
{
if (m_message != NULL) free(m_message);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?