📄 exception.h
字号:
///////////////////////////////////////////////////////////////
//
//
//
//
///////////////////////////////////////////////////////////////
#ifndef __EXCEPTION_H__
#define __EXCEPTION_H__
#include<iostream>
#include<string>
using namespace std;
#include "stdlib.h"
enum ErrorNo
{
ID_ERROR_CREATE, //语句中没有与create匹配的关键字
ID_ERROR_DROP, //语句中没有与drop匹配的关键字
ID_ERROR_NOKEYWORD, //语句第一个单词为非关键字
ID_ERROR_TNAME, //表名不能为关键字
ID_ERROR_CHARS, //属性名或者表名含有非法字符
ID_ERROR_OVERNAMESIZE, //属性名或者表名过长(超过16个字符)
ID_ERROR_LP, //缺少左括号或者左括号附近有错误
ID_ERROR_RP, //缺少右括号或者右括号附近有错误
ID_ERROR_TOOMANYATTR, //属性的数目过多
ID_ERROR_SIZE, //char(n)中n必须是整数
ID_ERROR_ATTR, //属性名不能为关键字
ID_ERROR_NOATTR, //定义为主码的属性不存在
ID_ERROR_PRIMARYKEY, //主码定义附近出错
ID_ERROR_TYPE, //非法类型名(只支持int,char,float)
ID_ERROR_OVERSIZE, //超过char的最大长度
ID_ERROR_CREATEINDEX, //creat index
ID_ERROR_DROPTABLE, //droptable语法错误
ID_ERROR_DROPINDEX, //dropindex语法错误
ID_ERROR_INSERTVALUES, //insertvalues语法错误
ID_ERROR_DELETEVALUES, //deletevalues语法错误
ID_ERROR_DELETECONDITION, //where子句语法错误
ID_ERROR_SELECTTABLE, //selecttable语法错误
ID_ERROR_SELECTCONDITION, //where子句中语法错误
ID_ERROR_END, //非法结束符
ID_ERROR_NOSENTENCE, //没有可以供分析的语句
ID_ERROR_QUOTE, //常量字符串缺少单引号
ID_ERROR_INSERTILLEGAL, //数值数据(包括int,float)有非法字符
//ID_ERROR_CONSTSTRING, //常量字符串中有非法字符('\n','\r')
ID_ERROR_EXISTTABLE, //定义的表已经存在
ID_ERROR_EXCREATETABLE, //创建表失败
ID_ERROR_SAMEATTR, //属性重复
ID_ERROR_NOEXISTTABLE, //没有存在的表名
ID_ERROR_EXSITINDEX,
ID_ERROR_EXCREATEINDEX,
ID_ERROR_REPETEKEY,
ID_ERROR_NOEXSITINDEX,
ID_ERROR_NOMATCH,
ID_ERROR_INSERTOVERSIZE,
ID_ERROR_REPETEVALUE,
ID_ERROR_NOATTREXIST
};
struct ErrorPos
{
public:
ErrorNo m_err;
int m_pos;
ErrorPos(ErrorNo err, int pos) : m_err(err),m_pos(pos){}
};
class Exception
{
public:
static string HandleException(ErrorNo &, int );
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -