1. 請問, 由於編譯過程中出現異常...異常消息為: 值不能為 null。 參數名: format。最後怎麼解決的
重新編譯一下!應該就能解決問題
2. WCF異常——由於編譯過程中出現異常,無法激活服務
按照提示的錯誤是說遇到空握祥敗指針異常了、string.format中有參數的值是空值、所以會出現這錯誤、你可以跟蹤一下是什麼段顫原因出現宴姿的空值
3. 簡要描述一下編譯期異常和運行時異常
編譯器異常就是你編譯的時候 編譯器報的錯誤,會自動提示;
運行時異常是程序運行的時候發生的異常,比如空指針,超出界限等,可以通過try catch捕捉到的
4. 編譯時異常和運行時異常有什麼區別啊
Throwable 是所有 java 程序中錯誤處理的父類 ,有兩種資類: Error 和 Exception 。 Error :表示由 JVM 所偵測到的無法預期的錯誤,由於這是屬於 JVM 層次的嚴重錯誤 ,導致 JVM 無法繼續執行,因此,這是不可捕捉到的,無法採取任何恢復的操作,頂多隻能顯示錯誤信息。 Exception :表示可恢復的例外,這是可捕捉到的。 Java 提供了兩類主要的異常 :runtime exception 和 checked exception 。 checked 異常也就是我們經常遇到的 IO 異常,以及 SQL 異常都是這種異常。 對於這種異常, JAVA 編譯器強制要求我們必需對出現的這些異常進行 catch 。所以,面對這種異常不管我們是否願意,只能自己去寫一大堆 catch 塊去處理可能的異常。 但是另外一種異常: runtime exception ,也稱運行時異常,我們可以不處理。當出現這樣的異常時,總是由虛擬機 接管。比如:我們從來沒有人去處理過 NullPointerException 異常,它就是運行時異常,並且這種異常還是最常見的異常之一。 出現運行時異常後,系統會把異常一直往上層拋,一直遇到處理代碼。如果沒有處理塊,到最上層,如果是多線程就由 Thread.run() 拋出 ,如果是單線程就被 main() 拋出 。拋出之後,如果是線程,這個線程也就退出了。如果是主程序拋出的異常,那麼這整個程序也就退出了。運行時異常是 Exception 的子類,也有一般異常的特點,是可以被 Catch 塊處理的。只不過往往我們不對他處理罷了。也就是說,你如果不對運行時異常進行處理,那麼出現運行時異常之後,要麼是線程中止,要麼是主程序終止。 如果不想終止,則必須撲捉所有的運行時異常,決不讓這個處理線程退出。隊列裡面出現異常數據了,正常的處理應該是把異常數據舍棄,然後記錄日誌。不應該由於異常數據而影響下面對正常數據的處理。 在這個場景這樣處理可能是一個比較好的應用,但並不代表在所有的場景你都應該如此。如果在其它場景,遇到了一些錯誤,如果退出程序比較好,這時你就可以不太理會運行時異常 ,或者是通過對異常的處理顯式的控製程序退出。 異常處理的目標之一就是為了把程序從異常中恢復出來 。
5. 編譯錯誤和運行時異常怎麼區分
編譯錯誤 一般都是語法錯誤
運行時錯誤一般都是比如數組索引指向空值 4/0 這類錯誤
請參考
6. 編譯時異常
當你在編輯時想讓調用者知道他傳達的值是錯的你就拋一個編輯時異常,讓他預先做處理,你不處理你編輯就不能通過。在拋異常的方法中寫一個聲明 throws Exception
上面其實是處理異常的一種方案,聲明異常。還有一種方案就是捕獲異常
通過try,catch來進行異常的內部消化。
總結:
什麼時候使用捕獲,什麼時候使用聲明:
首先明確自己到底是功能的定義者還是功能的調用者。
如果我們是功能的定義者,在我們的功能中有異常發生,而這個異常不需要告訴給調用者,這時就要在自己的功能中必須把這個捕獲調用。
如果這個問題需要告訴調用者,這時就可以在方法上使用throws關鍵字把異常聲明出去。
功能的調用者:我們調用別人的程序,由於別人的程序發生了問題,自己在調用的時候,就需要提前給出處理方案,而Java對異常的處理方案僅有2種,
捕獲和聲明。如果這個問題在我們自己的程序能夠處理掉就不要再使用聲明,而發自己依然要把這個問題往外暴漏,那麼就可以使用聲明
7. Java之運行時異常與編譯時異常區別
Java中用2種方法處理異常:
1.在發生異常的地方直接處理;
2.將異常拋給調用者,讓調用者處理。
Java常見的異常:
(1)編譯時異常:Java.lang.Exception
(2)運行期異常:Java.lang.RuntimeException
Java.lang.Exception和Java.lang.Error繼承自Java.lang.Throwable;
Java.lang.RuntimeException繼承自Java.lang.Exception.
編譯時異常: 程序正確,但因為外在的環境條件不滿足引發。例如:用戶錯誤及I/O問題----程序試圖打開一個並不存在的遠程Socket埠。這不是程序本身的邏輯錯誤,而很可能是遠程機器名字錯誤(用戶拼寫錯誤)。對商用軟體系統,程序開發者必須考慮並處理這個問題。Java編譯器強制要求處理這類異常,如果不捕獲這類異常,程序將不能被編譯。
運行期異常: 這意味著程序存在bug,如數組越界,0被除,入參不滿足規范.....這類異常需要更改程序來避免,Java編譯器強制要求處理這類異常。
8. java編譯異常有哪幾個
編譯異常是Exception下除了RuntimeException及其子類以外的所有子類
Java提供了兩類主要的異常:RuntimeException和CheckedException.
checked 異常也就是我們經常遇到的IO異常,以及SQL異常都是這種異常。對於這種異常,JAVA編譯器強制要求我們必需對出現的這些異常進行catch。所以,面對這種異常不管我們是否願意,只能自己去寫一大堆catch塊去處理可能的異常。
runtime exception,也稱運行時異常,我們可以不處理。當出現這樣的異常時,總是由虛擬機接管。比如:我們從來沒有人去處理過NullPointerException異常,它就是運行時異常,並且這種異常還是最常見的異常之一。
不管是不是RuntimeException 只要有異常 而且你還沒try / catch 那他一定會中斷執行 非RuntimeException 在編譯的時候 編譯器會幫你檢查 有沒有正確、完整的try / catch 如果沒有 編譯不過 RuntimeException 在編譯的時候 不檢查
參考自:http://m.blog.csdn.net/blog/zhou1216141078/12921609
9. C語言預處理編譯鏈接各個階段錯誤,分階段的說一下
預處理階段主要是處理宏指令,像什麼#include指令、#define指令還有條件編譯指令等。
編譯階段主要是檢查C語言程序的語法錯誤,即編寫的代碼是否符合C語言規則,編譯是以.c源文件為單位編譯成.obj文件(或者是.o文件)。
鏈接階段,就是把相關的.obj文件、所需的庫文件等組合成一個可執行的文件。如果缺少相關所需文件,就會鏈接報錯。
指針異常,數組下標越界這些錯誤屬於語義錯誤,這個只能在執行的時候才能發現問題,這些也叫運行時錯誤。
10. Java 編譯異常
錯誤代碼:400 400錯誤是由於不正確的請求造成的,說明正在搜索的網頁可能已經刪除、更名或暫時不可用。 錯誤代碼:401.1 401.1錯誤是由於登陸失敗造成的,說明沒有許可權查看該目錄或網頁。 錯誤代碼:401.2 401.2錯誤是由於伺服器配置問題而導致登陸失敗,由於伺服器端腳本未能正確發送 WWW 身份驗證頭文件欄位。如果要通過 Active Server Pages 腳本完成此項任務,可以使用"Response"對象的"AddHeader"方法來要求客戶端用特定身份驗證方法訪問資源。 錯誤代碼:401.3 401.3錯誤是由於資源上的 ACL 導致未被授權而無權訪問網頁或目錄。 錯誤代碼:401.4 401.4錯誤是由於篩選器導致授權失敗。如果Web 伺服器安裝了篩選器程序以檢查連接到伺服器的用戶。該篩選器程序能夠禁止通過連接到伺服器的身份驗證來訪問資源。 錯誤代碼:401.5 401.5錯誤是由於 ISAPI/CGI 應用程序導致授權失敗。如果所要訪問的 Web 伺服器地址上安裝了 ISAPI 或 CGI 程序用於在繼續執行之前檢驗用戶證書。該程序能夠禁止通過連接到伺服器的身份驗證證書來訪問資源。 錯誤代碼:403.1 403.1錯誤是由於"執行"訪問被禁止而造成的,若試圖從目錄中執行 CGI、ISAPI 或其他可執行程序,但該目錄不允許執行程序時便會出現此種錯誤。 錯誤代碼:403.2 403.2錯誤是由於"讀取"訪問被禁止而造成的。導致此錯誤是由於沒有可用的默認網頁並且沒有對目錄啟用目錄瀏覽,或者要顯示的 HTML 網頁所駐留的目錄僅標記為"可執行"或"腳本"許可權。 錯誤代碼:403.3 403.3錯誤是由於"寫入"訪問被禁止而造成的,當試圖將文件上載到目錄或在目錄中修改文件,但該目錄不允許"寫"訪問時就會出現此種錯誤。 錯誤代碼:403.4 403.4錯誤是由於要求SSL而造成的,您必須在要查看的網頁的地址中使用"https"。 錯誤代碼:403.5 403.5錯誤是由於要求使用 128 位加密演算法的 Web 瀏覽器而造成的,如果您的瀏覽器不支持128位加密演算法就會出現這個錯誤,您可以連接微軟網站進行瀏覽器升級。 錯誤代碼:403.6 403.6錯誤是由於IP 地址被拒絕而造成的。如果伺服器中有不能訪問該站點的 IP 地址列表,並且您使用的 IP 地址在該列表中時您就會返回這條錯誤信息。 錯誤代碼:403.7 403.7錯誤是因為要求客戶證書,當需要訪問的資源要求瀏覽器擁有伺服器能夠識別的安全套接字層 (SSL) 客戶證書時會返回此種錯誤。 錯誤代碼:403.8 403.8錯誤是由於禁止站點訪問而造成的,若伺服器中有不能訪問該站點的 DNS 名稱列表,而您使用的 DNS 名稱在列表中時就會返回此種信息。請注意區別403.6與403.8錯誤。 錯誤代碼:403.9 403.9錯誤是由於連接的用戶過多而造成的,由於Web 伺服器很忙,因通訊量過多而無法處理請求時便會返回這條錯誤。 錯誤代碼:403.10 403.10錯誤是由於無效配置而導致的錯誤,當您試圖從目錄中執行 CGI、ISAPI 或其他可執行程序,但該目錄不允許執行程序時便會返回這條錯誤。 錯誤代碼:403.11 403.11錯誤是由於密碼更改而導致無權查看頁面。 錯誤代碼:403.12 403.12錯誤是由於映射器拒絕訪問而造成的。若要查看的網頁要求使用有效的客戶證書,而您的客戶證書映射沒有許可權訪問該 Web 站點時就會返回映射器拒絕訪問的錯誤。 錯誤代碼:403.13 403.13錯誤是由於需要查看的網頁要求使用有效的客戶證書而使用的客戶證書已經被吊銷,或者無法確定證書是否已吊銷造成的。 錯誤代碼:403.15 403.15錯誤是由於客戶訪問許可過多而造成的,當伺服器超出其客戶訪問許可限制時會返回此條錯誤。 錯誤代碼:403.16 403.16錯誤是由於客戶證書不可信或者無效而造成的。 錯誤代碼:403.17 403.17錯誤是由於客戶證書已經到期或者尚未生效而造成的。 錯誤代碼:404.1 404.1錯誤表明所訪問 Web 站點的 IP 地址不接受對埠(請求的來源埠)的請求。一般來說,404.1 錯誤只會出現在具有多個 IP 地址的計算機上。如果在特定 IP 地址/埠組合上收到客戶請求,而且在特定的埠上 IP 地址並沒有設置為偵聽,則 IIS 將返回 404.1 HTTP 錯誤。例如,如果一台計算機有兩個 IP 地址,而只將其中一個 IP 地址配置為在埠 80 上偵聽,則其它 IP 地址從埠 80 收到的任何請求都將導致 IIS 返回 404.1 錯誤。只應在服務級設置這一錯誤,因為只有當伺服器上使用多個 IP 地址時它才返回給客戶。 錯誤代碼:404b 404b錯誤是由於無法找到文件而造成的,通常是由於正在搜索的網頁可能已經刪除、更名或暫時不可用。 錯誤代碼:405 405錯誤是由於資源被禁止而導致的網頁地址不正確,因此要尋找的網頁無法顯示。 錯誤代碼:406 406錯誤是由於瀏覽器無法打開正在尋找的資源而導致的錯誤。 錯誤代碼:407 407錯誤是由於代理伺服器必須先驗證身份,然後才處理請求。 錯誤代碼:410 410錯誤要尋找的網頁已被永久刪除而導致的,這意味著資源永遠無法使用。 錯誤代碼:412 412錯誤是由於要查看的網頁設置有先決條件,因此該請求無法完成。一般是網頁中有一個或多個請求標題欄位中具有先決條件,這些欄位經伺服器測試後被認為是"FALSE"。客戶端為當前資源的 meta 信息(頭文件欄位數據)設置了先決條件,以便防止請求的方法被用於指定資源外的其他資源。 錯誤代碼:414 414錯誤是由於請求的 URI 太長,伺服器拒絕處理請求而造成的。一般的可能性有: 1)客戶端錯誤地將 POST 請求轉換為帶有長查詢信息的 GET 請求。 2)或者是客戶端遇到重定向問題(例如,重定向 URL 的前綴指向自身的後綴)。 3)伺服器遭到客戶端的攻擊,該客戶端試圖利用那些使用定長緩沖來讀取或控制請求 URI 的伺服器上的安全漏洞。 錯誤代碼:500 500錯誤是由於內部伺服器錯誤造成的。 錯誤代碼:500.11 500.11錯誤是由於伺服器關閉而造成的資源無法訪問,Web 站點關閉期間無法處理請求。 錯誤代碼:500.12 500.12錯誤是由於應用程序重新啟動而造成的資源暫時無法訪問,Web站點重新啟動期間無法處理請求。 錯誤代碼:500.13 500.13錯誤是由於伺服器太忙而造成的,此時無法處理請求。通訊量超出 Web 站點的能力。 錯誤代碼:500.14 500.14錯誤是由於應用程序無效而造成的,部分 Web 站點不可用。Web 站點應用程序配置存在問題,無法處理請求。 錯誤代碼:500.15 500.15錯誤是由於請求了不不允許請求的 global.asa而造成的,你可以編輯"地址"欄中的網址,刪除 global.asa,然後按 Enter。來解決這個問題。 錯誤代碼:502 502錯誤是由於網關錯誤而造成的,當作為網關或代理的伺服器與上層內容伺服器聯絡時,收到無效的響應時就會出現502錯誤。 錯誤代碼:500-100.asp 500-100.asp錯誤是指ASP錯誤,默認情況下,"默認 Web 站點"及其所有應用程序都將 ASP 錯誤進程傳送到 500-100.asp 文件;但是,用戶創建的任何新 Web 站點或其應用程序都將 500.100 錯誤進程傳送到默認的(不是自定義的)錯誤文件。如果要為 .asp 文件開發附加的錯誤進程,可以將 500-100 錯誤映射到 .asp 文件,或者創建自己的錯誤進程 .asp 文件。 500-100.asp 文件處理 .asp 文件編譯和運行期間發生的任何錯誤。當發生 ASP 錯誤時,IIS 返回 500-100.asp 文件並附帶詳細的錯誤信息,如發生錯誤的行號和對錯誤的描述。 如果文件 500-100.asp 本身包含 ASP 錯誤,ASP 就不會返回另一個 500-100.asp 文件;這樣,報告錯誤時就好象根本沒有與 500-100 錯誤對應的自定義錯誤文件似的。 如果錯誤處理文件(默認是 500-100.asp)包含運行時錯誤,則只顯示此錯誤,而不考慮請求的 .asp 文件中的錯誤類型。如果錯誤處理文件有預處理和編輯錯誤,則在瀏覽器中顯示這兩種錯誤(即,顯示 500-100.asp 文件中的錯誤和請求的 .asp 文件中的錯誤)。 4.3. 枚舉聲明 java.lang.Thread.State 線程有以下幾種狀態:NEW(已創建但尚未開始執行)、RUNNABLE(正在Java虛擬機中執行)、BLOCKED(阻塞中:正等待獲得監控鎖)、WAITING(等待:無條件等候其他線程執行完畢,直到接收到喚醒通知)、TIMED_WAITING(限時等待:等候其他線程執行完畢,直到接收到喚醒通知或等待時間超過了時限)、TERMINATED(終止:線程已經退出)。4.4. 異常 java.lang.ArithmeticException 算術條件異常。譬如:整數除零等。 java.lang. 數組索引越界異常。當對數組的索引值為負數或大於等於數組大小時拋出。 java.lang.ArrayStoreException 數組存儲異常。當向數組中存放非數組聲明類型對象時拋出。 java.lang.ClassCastException 類造型異常。假設有類A和B(A不是B的父類或子類),O是A的實例,那麼當強制將O構造為類B的實例時拋出該異常。該異常經常被稱為強制類型轉換異常。 java.lang.ClassNotFoundException 找不到類異常。當應用試圖根據字元串形式的類名構造類,而在遍歷CLASSPAH之後找不到對應名稱的class文件時,拋出該異常。 java.lang.CloneNotSupportedException 不支持克隆異常。當沒有實現Cloneable介面或者不支持克隆方法時,調用其clone()方法則拋出該異常。 java.lang. 枚舉常量不存在異常。當應用試圖通過名稱和枚舉類型訪問一個枚舉對象,但該枚舉對象並不包含常量時,拋出該異常。 java.lang.Exception 根異常。用以描述應用程序希望捕獲的情況。 java.lang.IllegalAccessException 違法的訪問異常。當應用試圖通過反射方式創建某個類的實例、訪問該類屬性、調用該類方法,而當時又無法訪問類的、屬性的、方法的或構造方法的定義時拋出該異常。 java.lang.IllegalMonitorStateException 違法的監控狀態異常。當某個線程試圖等待一個自己並不擁有的對象(O)的監控器或者通知其他線程等待該對象(O)的監控器時,拋出該異常。 java.lang.IllegalStateException 違法的狀態異常。當在Java環境和應用尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出該異常。 java.lang.IllegalThreadStateException 違法的線程狀態異常。當縣城尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出異常。 java.lang.IndexOutOfBoundsException 索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,拋出該異常。 java.lang.InstantiationException 實例化異常。當試圖通過newInstance()方法創建某個類的實例,而該類是一個抽象類或介面時,拋出該異常。 java.lang.InterruptedException 被中止異常。當某個線程處於長時間的等待、休眠或其他暫停狀態,而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。 java.lang.NegativeArraySizeException 數組大小為負值異常。當使用負數大小值創建數組時拋出該異常。 java.lang.NoSuchFieldException 屬性不存在異常。當訪問某個類的不存在的屬性時拋出該異常。 java.lang.NoSuchMethodException 方法不存在異常。當訪問某個類的不存在的方法時拋出該異常。 java.lang.NullPointerException 空指針異常。當應用試圖在要求使用對象的地方使用了null時,拋出該異常。譬如:調用null對象的實例方法、訪問null對象的屬性、計算null對象的長度、使用throw語句拋出null等等。 java.lang.NumberFormatException 數字格式異常。當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常。 java.lang.RuntimeException 運行時異常。是所有Java虛擬機正常操作期間可以被拋出的異常的父類。 java.lang.SecurityException 安全異常。由安全管理器拋出,用於指示違反安全情況的異常。 java.lang. 字元串索引越界異常。當使用索引值訪問某個字元串中的字元,而該索引值小於0或大於等於序列大小時,拋出該異常。 java.lang.TypeNotPresentException 類型不存在異常。當應用試圖以某個類型名稱的字元串表達方式訪問該類型,但是根據給定的名稱又找不到該類型是拋出該異常。該異常與ClassNotFoundException的區別在於該異常是unchecked(不被檢查)異常,而ClassNotFoundException是checked(被檢查)異常。 java.lang.UnsupportedOperationException 不支持的方法異常。指明請求的方法不被支持情況的異常。