问题分析:

首先,int.Parse()是一种类容转换,表示将数字内容的字符串转为int类型。该函数要求被操作的字符串由数字组成,因此存在三种可能的输入异常情况:

1. 如果字符串为空,则抛出ArgumentNullException异常;  

2. 如果字符串内容不是数字,则抛出FormatException异常;  

3. 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

所以 int.parse("abcd") 出错原因在于字符串的内容不是数字,

解决方案:

可以使用 int.TryParse() 函数,int.TryParse() 与 int.Parse() 较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。  

最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值。