.NET C# Try Catch跳出提示視窗應用(與javascript併用)
在網站開發上常常會用到javascript的alert達到跳出提示視窗的功能,
本次範例將抓取到的Exception訊息顯示於前端給操作者。
需注意的是,ShowMessage是使用ScriptManager元件的方式,
若頁面沒有ScriptManager則改成ClientScript。
.cs內容(1)
try {
//執行程式
} catch (Exception ex) {
//建議寫入LOG
//WriteLog(ex.ToString());
//Rollback
ShowMessage("失敗 " + GetErrorMsg(this, ex));
} finally {
//物件Dispose或Close
}
.cs內容(2)
//*********************************************************************
// ShowMessage() 函式
// 傳入欲顯示之字串,以對話視窗顯示
//*********************************************************************
public void ShowMessage(string message) {
message = message.Replace("'", "").Replace(@"""","") ;
string JavaScript = null;
JavaScript = @"<SCRIPT Language='JavaScript'>window.alert('" + message + "'); </SCRIPT>";
ScriptManager.RegisterStartupScript(this, this.GetType(), "AlertMsg", JavaScript, false);
}
/// <summary>
/// 取得簡短的Exception訊息
/// </summary>
public static string GetErrorMsg(Page p, Exception ex) {
string errmsg = string.Empty;
if (ex.InnerException != null) {
errmsg = ex.InnerException.Message;
} else if (errmsg.Length == 0) {
errmsg = p.Server.HtmlDecode(ex.Message.Replace("\r\n", ""));
}
return errmsg;
}