當前位置:首頁 » 編程軟體 » 編譯期異常

編譯期異常

發布時間: 2022-01-17 00:41:10

java異常處理時,為什麼經常轉換為運行時異常有什麼好處

這個是看具體的情況,throw new runtimeexception(e)是將異常拋出了,如果是e.printStackTrace();的話只是列印出來了,沒有處理,下面普及下知識:

異常分類有三類,編譯時異常,運行時異常和錯誤
編譯時異常: 程序正確,但因為外在的環境條件不滿足引發。例如:用戶錯誤及I/O問題----程序試圖打開一個並不存在的遠程Socket埠。這不是程序本身的邏輯錯誤,而很可能是遠程機器名字錯誤(用戶拼寫錯誤)。對商用軟體系統,程序開發者必須考慮並處理這個問題。Java編譯器強制要求處理這類異常,如果不捕獲這類異常,程序將不能被編譯。
運行期異常: 這意味著程序存在bug,如數組越界,0被除,入參不滿足規范.....這類異常需要更改程序來避免,Java編譯器強制要求處理這類異常。
錯誤: 一般很少見,也很難通過程序解決。它可能源於程序的bug,但一般更可能源於環境問題,如內存耗盡。錯誤在程序中無須處理,而有運行環境處理。
望採納

㈡ java中到底有沒有編譯時異常,我老師說編譯時異常時不存在的有的只是編譯錯誤

你可以簡單的理解一下,你再編譯的時候編譯器都不能通過的,就比如明顯的語法錯誤。你老師說的就是這種。一般意思就是平常說異常都是運行時異常。在編譯時候報出來的大紅X都是錯誤了的東西,這時候你eclipsse都不能運行你這個.java

㈢ 按異常在編譯時是否被檢測來分,異常可以分成哪兩種

檢查時異常(checkException)和運行時異常(runtime Exception)

㈣ 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 不支持的方法異常。指明請求的方法不被支持情況的異常。

㈤ 為什麼java編譯時異常需要try-catch處理,改掉不好嗎

異常有很多種類,爆紅屬於一種
代碼有一個規范,自己寫的代碼
過兩天去看,有時候就看不明白了
項目上線也是一樣,沒有人敢保證
自己的代碼沒有bug,所以報錯機制
提供了一個查閱的平台,方便知道
哪裡出錯了,如何去修改
代碼寫出來只是第一步,後期維護
工作也是必要的

㈥ java文件編譯的時候 報出異常,求解釋。

一個java文件中可以共存多個class類,但只能有一個 public class 類名 ,而這個類名必須和這個Java文件的文件名稱一樣。你上述的就是因為Java文件和其中的public class 類名不匹配導致的

㈦ java什麼時候是編譯出錯,什麼時候會報異常呢

編譯錯時因為你寫的語法不正確,報異常有時候是程序自身的錯誤 大部分是你程序邏輯有錯誤

㈧ 為啥jdk IO 要拋出編譯期異常

這是你們設計的問題
人家是指明了說你必須要明確的處理這些異常,至於怎麼處理是沒有規定的
你可以catch 起來,也可以繼續申明拋出

㈨ 編譯錯誤和運行時異常怎麼區分

編譯錯誤 一般都是語法錯誤
運行時錯誤一般都是比如數組索引指向空值 4/0 這類錯誤
請參考

熱點內容
綠色linux 發布:2024-11-14 12:56:11 瀏覽:349
游戲本緩存 發布:2024-11-14 12:55:28 瀏覽:649
微軟提供的編譯軟體 發布:2024-11-14 12:55:16 瀏覽:17
長沙java培訓機構哪家好 發布:2024-11-14 12:40:53 瀏覽:228
外存儲器硬碟能存儲的高清電影數 發布:2024-11-14 12:33:23 瀏覽:265
python分號作用 發布:2024-11-14 12:31:50 瀏覽:223
方舟編譯器下載要錢嗎 發布:2024-11-14 12:29:20 瀏覽:62
jspoa源碼 發布:2024-11-14 12:21:31 瀏覽:420
不記得了密碼怎麼辦 發布:2024-11-14 12:18:58 瀏覽:442
python字元串的大小 發布:2024-11-14 12:17:24 瀏覽:222