c#里面的catch (Exception e)
今天测试读取文件存储参数的方法,以增加参数修改的灵活性,存储一个txt文件,不行就手动改下子。
在示例代码下用到try/catch,打开文件是using (StreamReader sr = new StreamReader("123.txt", Encoding.UTF8)),如果出错,catch (Exception e)里面, MessageBox.Show("The file could not be read:");
结果编译器报警告,声明了变量e,没用。改 MessageBox.Show("The file could not be read:{0}",e.Message);不报了。
运行结果,当然先把123.txt噶了,报错了,在原来的消息头上,加了没有找到文件的信息,可是哪个{0},原封不动赫然在列。什么意思,不是该替换的吗?不是应该是消息替换{0}的吗?真不是,报错信息是在弹窗的顶上,下面该出什么还出什么,这么怪的吗?
改,MessageBox.Show(e.Message);好了,正常了,本来就该这么用,系统给做好了的,四处抄来的代码,还是有各种意想不到的彩蛋。