如何在 try-catch 中初始化变量
本文关键字:初始化 变量 try-catch | 更新日期: 2023-09-27 18:33:33
我在try-catch中有一个没有初始化的变量。
try
{
var customcontroldata = svc.queryLookupsXml("customcontroldata");
}
catch
{
Response.Write(@"<script>alert('We laugh at you');window.location.replace('Accounts.aspx');</script>");
Response.End();
}
我试图在 try-catch 之外初始化变量,但没有完成。 我将如何让自定义控制数据变量在此方法中初始化,该方法稍后也会在我的代码中使用?
您需要
在try
块之外声明变量。您可以将其分配给 null,然后在catch
之后,在对它执行任何操作之前检查它是否为 null。
在这种情况下,您还需要具体说明对象的类型,因为在声明时无法将其分配给所需的最终值,因为这会在您的try
中发生。
XmlNode customcontroldata = null;
try
{
customcontroldata = svc.queryLookupsXml("customcontroldata");
}
catch
{
Response.Write(@"<script>alert('We laugh at you');window.location.replace('Accounts.aspx');</ script>");
Response.End();
}
在代码中,customcontroldata
的作用域在 try 块内,因此在该范围之外不存在。 尝试在尝试之外声明它,如下所示...
myObjectType customcontroldata; = null4
try
{
customcontroldata = svc.queryLookupsXml("customcontroldata");
}
catch
{
Response.Write(@"<script>alert('We laugh at you');window.location.replace('Accounts.aspx');</ script>");
Response.End();
}
你想在 Try/Catch 块之外声明变量,初始化为空值/空值。
您可以在块内执行赋值,但如果您计划在 TryCatch 块外使用它,请始终测试变量是否为空/空。