zoukankan      html  css  js  c++  java
  • C#可视化程序设计第三章(3,4)

    异常处理

    1.异常处理介绍

    ■任何完美的应用程序和技术高明的程序员,都不能保证程序绝对不出差错。

    ■在代码中加入异常处理可以捕获末知的异常,并对异常进行处理,可以防止应用程序的崩溃,

    并向用户友好地给出错误提示。

    2.程序中的错误可以分为三类:

    ■编译错误:

    在程序编译时产生的错误,通常由错误的语法或使用的资源不存在等原因引起。产生编译错误时程序无法

    运行,编译错误可以通过集成开发环境VS发现。

    ■逻辑错误:

    逻辑错误,不影响程序的正常运行,但会导致实际运行结果与预期结果不-致。通常是算法出现了错误,

    可以通过调试程序,对比期望值和实际值发现。

    ■异常:

    在程序运行过程中,干扰程序正常运行时产生的错误称为异常。异常是无法避免的,但是能够预计。为了

    使应用程序出现异常时不至于崩溃终止,必须对可能出现异常的代码进行异常处理。

    异常处理结构:

    //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	姓名	性别	邮箱		地址");
                        while (reader.Read())
                        {
                            Console.WriteLine(i + "	{0}	{1}	{2}		{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();
                }
                }

    /

  • 相关阅读:
    (转)用Ajax技术让IE Web Control Tree View实现大数据量读取
    您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
    oracle数据库中ORA28000: the account is locked问题
    C#动态生成html页面
    oracle 用户权限解释
    HCPC2013校赛训练赛 2
    ZOJ2770 Burn the Linked Camp 差分约束
    POJ2570 Fiber Network 状态压缩+floyd
    ZOJ3088 Easter Holidays 最短路
    POJ1364 King 差分约束
  • 原文地址:https://www.cnblogs.com/H-Yan/p/12931073.html
Copyright © 2011-2022 走看看