私は3層ベースのWebアプリケーションを持っています。使用したいビジネスロジック層でtrycatchブロックを使用しています。ビジネスロジックでtry/catchブロックを使用するのは正しいですか、それともUIレイヤーで使用する必要がありますか?
DALの私のコードを参照してください。
Data Access Layer
#region Insert in to Logbook
public int Insert_LogBook(string Vehicle_Number, DateTime Vehicle_Booking_Date, TimeSpan Time_From, TimeSpan Time_To, int KM_Start, int KM_End, string Vehicle_Used_By, string Cost_Code, string Budget_Line, DateTime Entry_Date)
{
try
{
SqlCommand com = new SqlCommand("Insert_LogBook", con);
com.Parameters.Add("@Vehicle_Number", SqlDbType.NVarChar, 100).Value = Vehicle_Number;
com.Parameters.Add("@Vehicle_Booking_Date", SqlDbType.DateTime).Value = Vehicle_Booking_Date;
com.Parameters.Add("@Time_From", SqlDbType.Time).Value = Time_From;
com.Parameters.Add("@Time_To", SqlDbType.Time).Value = Time_To;
com.Parameters.Add("@KM_Start", SqlDbType.Int).Value = KM_Start;
com.Parameters.Add("@KM_End", SqlDbType.Int).Value = KM_End;
com.Parameters.Add("@Vehicle_Used_Byr", SqlDbType.VarChar, 100).Value = Vehicle_Used_By;
com.Parameters.Add("@Cost_Code", SqlDbType.NVarChar, 50).Value = Cost_Code;
com.Parameters.Add("@Budget_Line", SqlDbType.NVarChar, 50).Value = Budget_Line;
com.Parameters.Add("@Entry_Date", SqlDbType.DateTime).Value = Entry_Date;
con.Open();
int res = com.ExecuteNonQuery();
}
catch (Exception ex)
{
WebMsgBox.Show(ex.Message);
}
finally
{
con.Close();
con.Dispose();
}
return 1;
}
#endregion
だから私はそれを私のbalまたはINUIレイヤーで使用する必要がありますか、それとも私のコードは大丈夫です。UIレイヤーでtry/catchを使用しない場合、例外をキャッチせず(存在する場合)、エラーページが表示されるためです。