1、Try-catch-finally(C#参考)
Catch和finally一起使用的常见方式是:在try块中获取并使用资源,在catch块中处理异常情况,并在finally块中释放资源。Finally块总是执行,无论是否有异常发生。对于异常,可以使用Throw语句显式引发异常,还可以使用Throw语句再次引发捕捉的异常,好的编码做法是向再次引发的异常添加自己定义的信息。
举例:
1
using
System;
2 using System.IO;
3 public class ProcessFile
4 {
5 public static void Main()
6 {
7 FileStream fs = null ;
8 try
9 // Opens a text tile.
10 {
11 fs = new FileStream( " data.txt " ,FileMode.Open);
12 StreamReader sr = new StreamReade(fs);
13 string line;
14 // 从data.txt文件中读出一行内容保存string变量line中
15 line = sr.ReadLine();
16 // 将line在控制台输出
17 Console.WriteLine(line);
18 }
19 catch (FileNotFoundException e) // 捕捉找不到数据文件的异常
20 {
21 // 向控制台写入消息
22 Console.WriteLine( " [Data File Missing] {0} " , e);
23 // 引发新的FileNotFoundException并向异常添加文本信息
24 throw new FileNotFoundException( " [data.txt not in c:\\dev directory] " ,e);
25 }
26 finally
27 {
28 fs.Close();
29 }
30 }
31 }
2 using System.IO;
3 public class ProcessFile
4 {
5 public static void Main()
6 {
7 FileStream fs = null ;
8 try
9 // Opens a text tile.
10 {
11 fs = new FileStream( " data.txt " ,FileMode.Open);
12 StreamReader sr = new StreamReade(fs);
13 string line;
14 // 从data.txt文件中读出一行内容保存string变量line中
15 line = sr.ReadLine();
16 // 将line在控制台输出
17 Console.WriteLine(line);
18 }
19 catch (FileNotFoundException e) // 捕捉找不到数据文件的异常
20 {
21 // 向控制台写入消息
22 Console.WriteLine( " [Data File Missing] {0} " , e);
23 // 引发新的FileNotFoundException并向异常添加文本信息
24 throw new FileNotFoundException( " [data.txt not in c:\\dev directory] " ,e);
25 }
26 finally
27 {
28 fs.Close();
29 }
30 }
31 }
2、Console.Write与Console.WriteLine有什么区别?
Write()和WriteLine()都是System.Console提供的方法,两着主要用来将输出流由指定的输出装置(默认为屏幕)显示出来.两着间的差异在Console.WriteLine()方法是将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时,光标会移到目前输出字符串的下一行.至于Console.Write()方法,光标会停在输出字符串的最后一个字符后,不会移动到下一行。
3、Console.WriteLine与Response.Write有什么区别?
Console.WriteLine 是在控制台中换行输出
Response.Write是向页面上写东西
控制台程序就是ConsoleApplication,最后在window黑窗口输出的...
新建->项目->控制台应用程序(or ConsoleApplication)
4、使用DataReader读取数据(DataReader包括SqlDataReader和OleDbDataReader,下面以SqlDataReader为例说明)
SqlDataReader支持快速前向的只读访问,不能被用于写入数据。你能够以只向前的顺序方式读取SqlDataReader中的数据,对于已经读取的数据,你将不能返回并再读取它,必须采取保存的方法保存读取的数据供第二次使用。
创建SqlDataReader对象于实例华其他ADO.NET对象稍微不同。你必须对一个Command对象调用ExecuteReader方法来实例化SqlDataReader对象。例:
SqlDataReader rdr
=
cmd.ExecuteReader();
SqlDataReader索引器返回哦bject类型,在使用这个数据之前必须将其转换成合适的变量类型。一个典型的循环读取例子:
while(rdr.read())
{
string contact = (string) rdr ["ContactName"];
int number = (int) rdr ["Number"]
}
{
string contact = (string) rdr ["ContactName"];
int number = (int) rdr ["Number"]
}
由于SqlDataReader使用一个激活的联机,应该尽快使用,然后使用close方法关闭。