⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exception.h

📁 our homework big project
💻 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 + -