<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-144  評論-80  文章-1  trackbacks-0

    用異常來處理錯誤。
    捕獲異常最佳的時候應該是程序編譯的時候,也就是程序運行之前,但是不是所有的錯誤都能在編譯的時候被發現,
    有些問題只有到程序運行的時候才能被處理,他們要通過某種方式,讓引發問題的代碼將適當的信息傳給那些知道
    該怎么處理這些問題的程序。

     基本異常
     
      異常條件是一種能阻止正在運行的方法或其某一部分繼續運行下去的問題。
      把異常條件同普通問題區分開來,這點很重要,遇到普通問題的時候,你在
      當前的運行環境下有足夠的信息來處理這個困難,對于異常條件,由于你得不到
      足夠得用以處理這個問題得信息,因此不能在當前得運行環境下繼續運行下去,
      你只能跳出當前得運行環境,并且把問題交到上層得運行環境,這就是拋出異常的
      時候所發生的事情。

      當你拋出異常對象的時候,首先會象創建其他java對象那樣,創建一個異常對象,
      在堆里,用new ,然后停下當前的執行路徑,再將異常對象的reference從當前的運行
      環境中彈出去,現在異常處理機制開始接管程序了,

     創建自己的異常
                
           

    package com.faintbear;

    class SimpleException  extends Exception {}

    public class SimpleExceptionDemo 
    {
        
    public void f() throws SimpleException 
        
    {
            System.
    out.println(" Throwing SimpleException from f()");
            
    throw new SimpleException ();
            
        }

        
        
    public static void main(String[]args)
        
    {
             SimpleExceptionDemo sed 
    = new SimpleExceptionDemo();
             
    try{
                 sed.f();
                 
             }
    catch (SimpleException e){
                System.err.println(
    "caught it");
                e.printStackTrace();
             }

        }

        
        

    }

     

      異常說明

      異常說明屬于方法聲明的一部分,要列在參數表的后面。
      異常說明要用throws關鍵詞語,后面跟上所有可能拋出異常類型的清單。


      捕捉任意類型的異常

      要想創建一個“能處理任意類型異常的”異常處理程序是完全可能的,要做到這點,
      你就必須去捕捉異常的基類Exception,

      由于Exception只是那些跟程序員有關的異常類的基類,因此你不能從它那里得到更多的
      關于異常的具體信息,不過你也可以調用Exception的基類Throwable的方法,

      String getMessage()

      String getLocalizedMessage()

      String toString()

      void printStackTrace()
      void printStackTrace(PrintStream)
      void printStackTrace(java.io.PrintWriter)

      Throwable fillInStackTrace()


      用finally進行清理

       你會時常碰到”無論try區塊有沒有拋出異常“,程序都必須執行的代碼。一般來說
       這些代碼都是執行恢復內存之外的操作的(因為恢復內存是垃圾回收器的活)
       當你需要把內存以外的東西恢復到原先狀態的時候finally就顯得必要了。
       

    posted on 2005-03-23 17:14 小力力力 閱讀(446) 評論(0)  編輯  收藏 所屬分類: JAVA筆記
    主站蜘蛛池模板: 日韩一级在线播放免费观看| 亚洲人AV在线无码影院观看| 亚洲桃色AV无码| 亚洲精品成人片在线观看精品字幕| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 亚洲精品中文字幕麻豆| 亚洲AV无码专区国产乱码不卡 | 亚洲精品中文字幕无码蜜桃| 日本精品久久久久久久久免费| 免费国产午夜高清在线视频| 一二三四免费观看在线电影| 国产jizzjizz免费看jizz| 亚洲AV无码国产丝袜在线观看 | 亚洲精品**中文毛片| 18国产精品白浆在线观看免费 | 精品免费国产一区二区三区| 夜夜春亚洲嫩草影院| 亚洲一日韩欧美中文字幕在线| 国产免费AV片在线观看| 久久亚洲春色中文字幕久久久| 产传媒61国产免费| 免费中文熟妇在线影片| 亚洲视频免费在线观看| 久久久久久噜噜精品免费直播| 成人性生活免费视频| 97亚洲熟妇自偷自拍另类图片| 精品在线观看免费| 成人毛片免费观看视频| 国产亚洲精彩视频| 久久久久久a亚洲欧洲aⅴ| 91国内免费在线视频| 夜色阁亚洲一区二区三区| 狠狠色伊人亚洲综合网站色| 性xxxxx大片免费视频| 国产亚洲精品资在线| 日韩一级片免费观看| 亚洲高清日韩精品第一区| 青青青青青青久久久免费观看| 成人免费无码H在线观看不卡| 精品亚洲成α人无码成α在线观看| 精品免费tv久久久久久久|