Если вы не уверены, что пользователь дает вам законное значение Int32 для преобразования, вы можете использовать:
int result;
if (!int.TryParse(subjectsLabel.Text, out result))
{
ShowAMessageToTheUser();
}
else
{
UseResult();
}
Использование TryParse не вызовет исключение при попытке проанализировать строку. Вместо этого он вернет false, а параметр out недопустим для использования.