日期:2014-05-18  浏览次数:20663 次

★CSDN菜鸟提问★走过路过,20分别错过, 自定义错误,要怎么写?
高手在不?
问个问题行不?
一般程序内部的自定义错误代码怎么做啊?
就是说有一系列的错误代码,   可能每个会有多个错误代码叠加起来。

比如说有下列错误代码和错误信息:

0x1       -------------姓名为空
0x2       -------------性别为空
0x4       -------------出生年月为空
0x8       -------------籍贯为空
0x10     -------------证件照未上传
0x20     -------------出生日期错误
0x40     -------------姓名长度错误
0x80     -------------证件照不符合规范

用户信息有效性验证,可能会有多个错误同时存在,  
比如:错误代码为0x60,     用户的出生日期和用户的姓名长度错误,
用程序怎么判断这些错误?

------解决方案--------------------
private string getErrorString(int errorCode)
{
switch (errorCode)
{
case 0:
{
return " ";
}
case 0x1:
{
return "题目为空,无法保存 ";
}
case 0x2:
{
return "错误2 ";
}
case 0x4:
{
return "错误3 ";
}
case 0x8:
{
return "错误4 ";
}
case 0x10:
{
return "错误5 ";
}
case 0x20:
{
return "错误6 ";
}
case 0x40:
{
return "错误7 ";
}
default:
{
return "未知的错误 ";
}
}
}

private string getAllErorString(int errorCode)
{
string ErrorString = " ";
int j = 1;
int i = 0;
while (errorCode > 0 && i < 20)
{
if ((errorCode & j) == j)//判断某个错误是否存在
{
ErrorString += getErrorString(j);
errorCode ^= j;
}
j *= 2;
i++;
}
return ErrorString;
}