1.异常处理介绍程序员
■任何完美的应用程序和技术高明的程序员,都不能保证程序绝对不出差错。算法
■在代码中加入异常处理能够捕获末知的异常,并对异常进行处理,能够防止应用程序的崩溃,sql
并向用户友好地给出错误提示。数据库
2.程序中的错误能够分为三类:ui
■编译错误:spa
在程序编译时产生的错误,一般由错误的语法或使用的资源不存在等缘由引发。产生编译错误时程序没法3d
运行,编译错误能够经过集成开发环境VS发现。调试
■逻辑错误:code
逻辑错误,不影响程序的正常运行,但会致使实际运行结果与预期结果不-致。一般是算法出现了错误,server
能够经过调试程序,对比指望值和实际值发现。
■异常:
在程序运行过程当中,干扰程序正常运行时产生的错误称为异常。异常是没法避免的,可是可以预计。为了
使应用程序出现异常时不至于崩溃终止,必须对可能出现异常的代码进行异常处理。
异常处理结构:
//try...catch结构 //语法: try{ //可能出现的异常代码 } catch (Exception e){ //捕获异常代码,进行异常处理的代码 } //try...catch...finally结构 try{ //可能出现的异常代码 } catch (Exception e){ //捕获异常代码,进行异常处理的代码 } finally{ //释放代码 } //try.......finally结构 try{ //可能异常代码 } finally{ //释放代码 }
其中的Exception类的对象包含异常详细信息的对象,Exception 对象的经常使用属性有:
(1) Message: 包含辅助性文字说明,指出抛出异常的缘由。
(2) Source:包含生成异常的程序集名称。
注意:
■try块不能省略,catch和finally块能够省略, 但不能同时省略
■finally块不管是否发生异常,都会被执行。
//定义链接字符串 SqlConnection conn = null; SqlDataReader reader = null; try { string sql = "server=.;database=GMP;uid=sa;pwd=985199";//链接字符串 conn = new SqlConnection(sql);//创对象 conn.Open();//打开 if (conn.State == System.Data.ConnectionState.Open) { Console.WriteLine("链接成功"); string cz = "select Name,Grader,Emal,Address from Users"; //sql语句 //建立command对象 SqlCommand cmd = new SqlCommand(cz, conn); reader = cmd.ExecuteReader();//执行sql命令返回sqldatareader对象 int i = 1;//设序号 Console.WriteLine("ID\t姓名\t性别\t邮箱\t\t地址"); while (reader.Read()) { Console.WriteLine(i + "\t{0}\t{1}\t{2}\t\t{3}", reader["Name"], reader["Grader"], reader["Emal"], reader["Address"]); i++; } } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { if (reader != null) { reader.Close(); } if (conn != null) { conn.Close(); } }
3.DBHelper类
class DBHelper { /// <summary> /// /// </summary> //类里面只能是属性,方法,定义字段 public static string cons = ""; public static SqlConnection conn ; //三个方法:链接数据库方法,执行增删改方法,执行查询方法 //1 public static bool connect() { conn = new SqlConnection(cons); conn.Open(); if (conn.State == System.Data.ConnectionState.Open) { return true; } else { return false; } } //2 public static int Excut(string sqlstr) { SqlCommand cmd = new SqlCommand(sqlstr, conn); int i = cmd.ExecuteNonQuery(); return i; } //3 public static SqlDataReader Excutread(string sqlstr) { SqlCommand cmd = new SqlCommand(sqlstr,conn); SqlDataReader reader = cmd.ExecuteReader(); return reader; } public static void gbi() { conn.Close(); } }
static void Main(string[] args) { DBHelper.cons = "server=.;database=GMP;uid=sa;pwd=985199"; string yj = "select Name from Users"; if (DBHelper.connect()) { SqlDataReader reader = DBHelper.Excutread(yj); while (reader.Read()) { Console.WriteLine(reader["Name"]); } DBHelper.gbi(); } }
/