這篇部落格決定寫一些異常相關的理論問題和個人理解。
學到異常我們肯定要問自己這個問題,異常就是程式中不正常的現象。異常包括error和exception兩種。第一種error是程式設計師不能處理的異常。第二種是可以通過程式設計師處理**解決的異常。它包括編譯異常和執行異常。編譯異常是指在編譯過程中,會出現提示的異常。執行異常是指在執行時出現的異常,並將異常資訊反饋控制台。
自己處理(負責)。try_catch捕獲異常後,根據程式設定的可能出現異常的位置,執行相應**。
丟擲異常(不負責)。throw,丟擲異常給呼叫的人處理。
1.執行時異常被丟擲可以不處理,因為jvm會處理
2.如果父類丟擲了異常,子類在覆蓋父類方法的過程中,只能進行3種選擇:(1)不丟擲任何異常(2)丟擲和父類一樣的異常(3)丟擲父類異常的子類異常
1.雖然二者均為異常處理的關鍵字,但是throws用於宣告異常,throw用於丟擲異常。
2.try中包括的是可能出現異常的**,異常可能是0個到n個,但是能被catch捕獲到的異常只有乙個。throw可能丟擲多少個異常,throws就必須定義多少個異常。
try表示為可能出現異常的區域,如果出現異常就進入catch相應的異常處理的內容,反之不進入,但是如果有finally的話,不管是不是存在異常,一定執行finally部分內容。需要注意的是,雖然乙個try中可以定義多個catch,每個catch中也都是各自不同的異常物件,但是,如果catch中的異常物件具有繼承關係,子類異常物件引數必須在父類異常物件引數上面(避免出現向上轉型錯誤的問題)。
乙個異常獲取必須包含乙個try(可以不包括catch或者不包括finally,但是二者必須選擇乙個和try使用),但是try關鍵字不能單個使用,乙個try可以連線多個catch,但是最多隻連線乙個finally。
1.string getmessage(),返回異常資訊
2.void printstacktrace(),將異常資訊紅色字型列印在控制台(包括包名類名、異常名稱和異常原因)
3.string tostring(),使用簡短的字串描述錯誤
首先建立乙個類,並讓它繼承exception或者exception子類,若想建立執行時異常可以繼承runtimeexception。
然後定義兩個構造器,乙個無參,乙個有參,用super分別呼叫其父類有參和無參的構造器,有參構造器的引數列表使用用於輸出錯誤資訊的string變數message。
try-catch塊在return之後,則出現編譯異常。
如果return在try-catch中,程式會按順序執行,就算執行到return也不會停止,會執行完finally裡面的最後一句語句,然後返回執行return語句。(return在try-catch中它不會執行finally括號以外的任何語句)
transformers理論解釋
transformer 是谷歌大腦在 2017 年底發表的 attention is all you need 中所提出的 seq2seq 模型。現在已經取得了大範圍的應用和擴充套件,而 bert 就是從 transformer 中衍生出來的預訓練語言模型 這篇文章分為以下幾個部分 transfor...
python各異常解釋
python 在執行除錯的時候有時出現各種錯誤,現收集整理,方便以後查詢。異常名 解釋ioerror 輸入輸出異常 attributeerror 試圖訪問乙個物件沒有的屬性 importerror 無法引入模組或包,基本是 徑問題 indentationerror 語法錯誤,沒有正確的對齊 inde...
怎樣確定樣本容量的理論解釋
研究隨機問題時,基本都要用到抽樣 比較 結果與實驗結果的偏差。設隨機變數的均值為 方差為 2 2,則 n n 個樣本的均值為 role presentation style position relative 方差為 2 n 2n 在給定的置信水平 1 1 下,設樣本的均值為 x x 其誤差 由下列...