C# string.Format常见异常
在使用string.Format 时,定义的参数数量要和实际赋值的参数个数一致
// 当传参数量大于定义参数数量时,不会有异常
var ret = string.Format("{0}{1}{2}", "test", "test1", "test2", "test3");
// 当传参数量小于定义参数数量时,会发生异常
var ret = string.Format("{0}{1}{2}", "test", "test1");
具体异常信息如下:
stringIndex (zero based) must be greater than or equal to zero and less than the size of the argument list.
// 还要再进行string 转int 时,如果使用parse, 需要进行判空,否则会抛异常
string testValue = string.Empty;
var result1 = int.Parse(testValue);
具体异常如下:
输入字符串的格式不正确。
{“Input string was not in a correct format.”}
// 可以使用TryParse,这样就不会抛出异常,
string testValue = string.Empty;
int testIntValue;
var result = int.TryParse(testValue, out testIntValue);
当遇到传参是空字符串或者空值时,Parse 抛异常,TryParse 不抛异常,具体使用Parse和TryParse, 要看业务场景,需不需把异常抛出来