It is clear from the exception message that the actual error is coming from the
.Remove()
method you're calling on the String. The parameters that you're passing must be valid, I mean that the total number of the characters in your string must be enough for this function to work on. As far as I know the expYear is either an empty string or it contains only one character. I have an example of this problem, where this error message is shown because the string contained only one character.
https://dotnetfiddle.net/DTspxj[
^]
int year = 1;
Console.WriteLine(year.ToString().Remove(0, 2));
However this second code, is working even if the variable contains two characters, but I added 2 more to make it
1995, and it gave me 95.
int year = 1995;
Console.WriteLine(year.ToString().Remove(0, 2));
So what might you do to minimize this, is to check if the characters are enough before you proceed as,
if(expYear.Length > 1) {
lblDataForYear.Text = expYear.ToString() + "/" +
(expYear + 1).ToString().Remove(0,2);
}