try catch異常處理

			try
			{
				//當try內代碼發生異常,代碼將不再執行,跳轉到catch
				//對不同的異常,使用不同的方式來處理
			}
			catch (NullReferenceException ex)
			{
				//空指針異常
				Console.WriteLine("空指針異常:{0}", ex.Message);
			}
			catch (DivideByZeroException ex)
			{
				//除數爲0
				Console.WriteLine("除數爲0:{0}", ex.StackTrace);
			}
			catch (ArgumentException ex)
			{
				//參數異常
				Console.WriteLine("參數異常:{0}", ex.StackTrace);
			}
			catch (Exception ex)
			{
				//剩餘異常
				Console.WriteLine(ex.StackTrace);
			}
			finally {
				//不論如何都會執行,如果catch無法捕獲異常,則程序崩潰,崩潰前會執行finally代碼
				//若捕獲到異常,且catch內有return,則執行完finally後不再執行
			}
			//異常處理代碼的幾種形式
			//try-->多個catch-->一個finally
			//try-->(一個或多個catch),多個catch的順序問題。可以沒有finally
			//try-->finally(只有一個),沒有catch
			//
			//通過邏輯判斷if-else減少異常發生的可能,儘量避免異常處理
			//多級方法的嵌套調用的時候,如果發生異常,則會終止所有相關方法,並且釋放資源
			try {
				string name = "name";
				if (name == "name")
				{
					throw new Exception("拋出異常");
				}
				else
				{

				}
			} catch (Exception ex) {
				Console.WriteLine(ex.Message);//顯示“拋出異常”
				Console.WriteLine(ex.StackTrace);//顯示詳情,位置
			}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章