可能你对throw语句还不是很熟悉,你看看下面的说明吧:
throw
功能是引发异常,常用格式:
throw;
或者
throw 表达式;
不带表达式的throw语句只能在catch块中,在这种情况下,它重新抛出当前正在由catch块处理的异常。
带表达式的throw语句抛出表达式的值。表达式必须是类型System.Exception或者System.Exception派生的类类型的值。如果表达式为null,则引发新的异常。
class test
{
static void F()
{
try{G();}
catch(Execption err)
{
Console.WriteLine("方法F中捕捉到:"+err.Message);
throw;//重新抛出当前正在由catch块处理的异常err
}
}
static viod G()
{
throw new Exception("方法G中抛出的异常");
}
static void Main()
{
try{F();}
catch(Exception err){Console.WriteLine("方法Main中捕获到的:"+err.Message);}
}
}
}
你checkright
方法返回了一个flase
值,然后if条件里面加了一个"!"就是进入if里面啊,然后就抛出你指定的异常啊,没错啊.
首先,异常不是随便抛的,有抛出异常的地方最好还是看看能不能解决这个异常.
然后,可能出现异常的代码要被try包含,然后在与try对应的catch里面写异常处理语句.
void someFunWillThrowException()
{
throw new Exception("..");
}
void testFun()
{
try
{
someFunWillThrowException();
}
catch( Exception e )
{
MessageBox.Show(e.Message);
}
}
你可以在DataSet
ds
=
conAcc.fenye(str_sql);这句代码后面加个判断
if(ds.Table[0].Rows.Count==0)//绑定之前就判断从数据库中是否有数据
{
//做处理!
}