如何在 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-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 块外使用它,请始终测试变量是否为空/空。