异常处理(我想检查 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
}
我希望我的代码在数据库不可用时发出警告或其他信息。 (这就是我评论连接字符串的原因),但我的网站崩溃了。
我创建了这个 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
}