I have a try-catch sequence. 

```
try 
{
    int tryCatchVar = 0
    ...other code...
}
catch
{
    if (tryCatchVar != 0) return;
}

```

I declared and assigned a variable in the try block. Normally a variable's scope is the block it was declared in as well as all blocks nested within it. However, because of the strong relational aspect of try-catch, I am wondering if the variable declared in try is in scope for catch? 

If not, then I guess I would want to do the following:

```
int tryCatchVar

try
{
    tryCatchVar = 0
    ...other code...
}
catch
{
    if (tryCatchVar != 0) return;
}

```

Would that work?

---

Reasoning:

I have two parameters that may throw exceptions. However, due to the limitations of my application (which are immutable at this point) I can only log user error messages to one specific string. I'm thinking of implementing two try-catch sequences. If either/both are tripped, they would generate an internal log stored in tryCatch. Then, depending on the value of tryCatch I would generate a new error message.