2012-04-17 61 views
1

想问void类型,这样我就可以知道它的工作原理或PHP中没有如何知道一个void运行?

我能有这样的条件:

if(mysql_query($query)) 
{ bla bla } 
else 
{ print error } 

如何做到这样的ASP.NET?

我试图像这样:

if (k.EditPassword(username.Text, oldPassTxt.Text, newPassTxt.Text) == true) 
{ 
Response.Redirect("sample.aspx"); 
} 
else 
{ print error } 

但当然,它不能是这样的,因为空是不是布尔

+1

您正在尝试处理的条件是什么? – 2012-04-17 04:02:45

+1

如果某件事情没有成功的标志,理想情况下,您应该能够假设如果执行通过它,它就成功执行了(换句话说,如果它没有抛出异常)。然而,根据谁编码或者如何相信你,这可能不是一个安全的假设(并且这是一种相当不愉快的感觉,必须假设任何事情......)。 – Corbin 2012-04-17 04:05:50

+0

它已经解决了,对不起..我真的忘了试试。 现在它的工作..我的完整代码: EmpWS k = new EmpWS(); 尝试 k.EditPassword(username.Text,oldPassTxt.Text,newPassTxt.Text); } catch(Exception ex) { Response.Write(ex +“Eror”); } – 2012-04-17 04:44:02

回答

3

是这样做可能会失败将通知您,他们失败了一些其他的工作方式通常无效的功能。他们往往会抛出异常:

try 
{ 
    k.EditPassword(...) 
} 
catch(ApplicationException ex) 
{ 
    // print Exception 
} 
Response.Redirect(...) 

其他时候,他们会设置一个状态变量或东西:

k.EditPassword(...) 
if (k.Result == Result.OK) 
    Response.Redirect(...) 
else 
    // print error... 

望着文档或源代码,您要处理的条件是唯一的出路知道如何处理它。

+0

谢谢..我真的忘了这个尝试捕获条件...这个代码我需要.. – 2012-04-17 04:42:35

0

您可以使用文字控制和文本添加到它。所以你的代码会像这样,

if (k.EditPassword(username.Text, oldPassTxt.Text, newPassTxt.Text) == true) 
{ 
Response.Redirect("sample.aspx"); 
} 
else 
{ Literal1.Text = error; } 

文字应该在设计文件中,你可以从工具箱中添加它。

但更好的和正确的方法是,

  1. 记录它。 (您将需要一个日志mecahnism)

  2. 写单元测试:)

相关问题