异常处理(我想检查 connection.Open() 是否运行)

Exception handling (I want to check if the connection.Open() runs)

我希望我的代码在数据库不可用时发出警告或其他信息。 (这就是我评论连接字符串的原因),但我的网站崩溃了。

我创建了这个 class 因为程序的很多部分都使用这个连接字符串(登录页面、注册页面、用户面板页面等),所以如果我以后想改变一些东西,这是我必须更改的唯一字符串。

namespace Fatture.Data.User
{
   public class DbConnection
   {
      public MySqlConnection ConnessioneDb()
      {
         MySqlConnection conn = new MySqlConnection(/*ConfigurationManager.ConnectionStrings["ConnectionStringloginDb"].ConnectionString*/);
         try
         {
            conn.Open();
         }
         catch (Exception ex)
         {
            throw new Exception("I can't connect to the database", ex);               

         }
         return conn;
      }
   }
}

使用异常处理...

var connector = new DbConnection();

try
{       
    var connection = connector.ConnessioneDb();
}
catch (Exception ex)
{
    // show message to user: database not available
}

尽管您必须在访问数据库的任何地方放置它。相反,您也可以为整个站点设置错误处理。

捕获异常...

try
{       
    var conn =  new DbConnection().ConnessioneDb();
}
catch (Exception ex)
{
     // Notify user here
}