bool
är ingen variabel, det är en typ. Du kan alltså ha en variabel som är en bool
, men inte en variabel som heter bool
.
Nu gissar jag bara, men ett vanligt misstag jag sett nybörjare göra är att deklarera variabler inne i try-blocket. En variabel kan endast kommas åt i samma block som den deklarerats samt från nästlade block i det blocket. Detta gäller alltså för block generellt och inte bara för try/catch, där ett block öppnas med {
och stängs med }
. D.v.s.:
int a = 3;
{
int b = a; // Ok, a finns i ett omgivande block.
}
int c = b; // Fel, inget b finns deklarerat i detta block.
Du kan alltså inte skriva:
try {
int i = Int32.Parse(Console.ReadLine());
} catch (...) {
...
}
och sen försöka använda i
efter try-catch-blocket. Du måste istället skriva t.ex.:
int i = 0;
try {
i = Int32.Parse(Console.ReadLine());
} catch (...) {
...
}