日期:2014-05-17  浏览次数:20374 次

try...catch...求教
我写了一个方法get(str)来获取一段字符串,但是由于这个字符串是动态变化的,有时能得到我要的数据,有时却会报错,说startindex不能小于0。所以我想利用try...catch...方法,如果获得了就 string str=get(str),如果报错就,写str=undefined;

------解决方案--------------------
try
{
string strGet = getString(str);
}
Catch(Exception ex)
{
 MessageBox.Show("Error:"+ex.Message);
}
------解决方案--------------------
catch是小写
------解决方案--------------------

 string strGet=string.Empty;
try
{
strGet = getString(str);
}
catch(Exception e)
{
 strGet ="undefined";
}
------解决方案--------------------
string str= string.Empty;
try
{
str=get(str);
}
catch(Exception e)
{
 str=undefined;
}
------解决方案--------------------
try
{
strGet=getString(str);
}
catch(IndexOverFlowException e)//不知道这个异常是不是这样子写 反正你就只要捕获你需要捕获的那个异常就可以了
{
strGet="undefined";
}
------解决方案--------------------
无需进行try catch啊,
你要进行
str.Substring,你先判断下
str.Length看是否满足你的要求再进行Substring
------解决方案--------------------
try
{
strGet=get(str);
}
catch
{
strGet="undefined";
}
至于你的get方法里面是怎么写的不清楚,或者判断不够严谨才会导致索引报错,你在调用的时候加上try也能达到满足的要求,但是希望你在get方法里面就做好判断。


------解决方案--------------------
判断一下就行了嘛。。 干嘛非用try catch 呢
------解决方案--------------------
try{}catch{}是捕获异常的。。。。
------解决方案--------------------
怎么判断,看你的getString里面的代码什么。
看错误提示,应该是你使用了Substring之类的分解字符串的函数
------解决方案--------------------
try catch一般用来向用户提示错误信息(并存入日志),而不至于在程序运行出错时直接关闭。