導航:首頁 > 網路問題 > java檢測網路異常

java檢測網路異常

發布時間:2022-06-21 12:14:16

❶ java怎麼判斷異常類型

1. java.lang.nullpointerexception

這個異常大家肯定都經常遇到,異常的解釋是"程序遇上了空指針",簡單地說就是調用了未經初始化的對象或者是不存在的對象,這個錯誤經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。對數組操作中出現空指針,很多情況下是一些剛開始學習編程的朋友常犯的錯誤,即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化,依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)

2. java.lang.classnotfoundexception

這個異常是很多原本在jb等開發環境中開發的程序員,把jb下的程序包放在wtk下編譯經常出現的問題,異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可,如果是在jb下做的程序包,一般都是默認加上package的,所以轉到wtk下後要注意把package的路徑加上。

3. java.lang.arithmeticexception

這個異常的解釋是"數學運算異常",比如程序中出現了除以零這樣的運算就會出這樣的異常,對這種異常,大家就要好好檢查一下自己程序中涉及到數學運算的地方,公式是不是有不妥了。

4. java.lang.

這個異常相信很多朋友也經常遇到過,異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了,還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數組的length,以免出現這個異常。

5. java.lang.illegalargumentexception

這個異常的解釋是"方法的參數錯誤",很多j2me的類庫中的方法在一些情況下都會引發這樣的錯誤,比如音量調節方法中的音量參數如果寫成負數就會出現這個異常,再比如g.setcolor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。

6. java.lang.illegalaccessexception

這個異常的解釋是"沒有訪問許可權",當應用程序要調用一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程序中用了package的情況下要注意這個異常。

其他還有很多異常,我就不一一列舉了,我要說明的是,一個合格的程序員,需要對程序中常見的問題有相當的了解和相應的解決辦法,否則僅僅停留在寫程序而不會改程序的話,會極大影響到自己的開發的。關於異常的全部說明,在api里都可以查閱。

算術異常類:ArithmeticExecption

空指針異常類:NullPointerException

類型強制轉換異常:ClassCastException

數組負下標異常:NegativeArrayException

數組下標越界異常:

違背安全原則異常:SecturityException

文件已結束異常:EOFException

文件未找到異常:FileNotFoundException

字元串轉換為數字異常:NumberFormatException

操作資料庫異常:SQLException

輸入輸出異常:IOException

方法未找到異常:NoSuchMethodException

java.lang.AbstractMethodError

抽象方法錯誤。當應用試圖調用抽象方法時拋出。

java.lang.AssertionError

斷言錯。用來指示一個斷言失敗的情況。

java.lang.ClassCircularityError

類循環依賴錯誤。在初始化一個類時,若檢測到類之間循環依賴則拋出該異常。

java.lang.ClassFormatError

類格式錯誤。當Java虛擬機試圖從一個文件中讀取Java類,而檢測到該文件的內容不符合類的有效格式時拋出。

java.lang.Error

錯誤。是所有錯誤的基類,用於標識嚴重的程序運行問題。這些問題通常描述一些不應被應用程序捕獲的反常情況。

java.lang.ExceptionInInitializerError

初始化程序錯誤。當執行一個類的靜態初始化程序的過程中,發生了異常時拋出。靜態初始化程序是指直接包含於類中的static語句段。

java.lang.IllegalAccessError

違法訪問錯誤。當一個應用試圖訪問、修改某個類的域(Field)或者調用其方法,但是又違反域或方法的可見性聲明,則拋出該異常。

java.lang.IncompatibleClassChangeError

不兼容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不兼容的改變時,拋出該異常。一般在修改了應用中的某些類的聲明定義而沒有對整個應用重新編譯而直接運行的情況下,容易引發該錯誤。

java.lang.InstantiationError

實例化錯誤。當一個應用試圖通過Java的new操作符構造一個抽象類或者介面時拋出該異常.

java.lang.InternalError

內部錯誤。用於指示Java虛擬機發生了內部錯誤。

java.lang.LinkageError

鏈接錯誤。該錯誤及其所有子類指示某個類依賴於另外一些類,在該類編譯之後,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發錯誤的情況。

java.lang.NoClassDefFoundError

未找到類定義錯誤。當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。

java.lang.NoSuchFieldError

域不存在錯誤。當應用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。

java.lang.NoSuchMethodError

方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。

java.lang.OutOfMemoryError

內存不足錯誤。當可用內存不足以讓Java虛擬機分配給一個對象時拋出該錯誤。

java.lang.StackOverflowError

堆棧溢出錯誤。當一個應用遞歸調用的層次太深而導致堆棧溢出時拋出該錯誤。

java.lang.ThreadDeath

線程結束。當調用Thread類的stop方法時拋出該錯誤,用於指示線程結束。

java.lang.UnknownError

未知錯誤。用於指示Java虛擬機發生了未知嚴重錯誤的情況。

java.lang.UnsatisfiedLinkError

未滿足的鏈接錯誤。當Java虛擬機未找到某個類的聲明為native方法的本機語言定義時拋出。

java.lang.UnsupportedClassVersionError

不支持的類版本錯誤。當Java虛擬機試圖從讀取某個類文件,但是發現該文件的主、次版本號不被當前Java虛擬機支持的時候,拋出該錯誤。

java.lang.VerifyError

驗證錯誤。當驗證器檢測到某個類文件中存在內部不兼容或者安全問題時拋出該錯誤。

java.lang.VirtualMachineError

虛擬機錯誤。用於指示虛擬機被破壞或者繼續執行操作所需的資源不足的情況。

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

類型不存在異常。當應用試圖

❷ 在一個java類中如何來捕獲網路異常

try{ ServerSocket server=new ServerSocket(8888); server.setSoTimeout(100); }catch (SocketException e) { e.printStackTrace(); }catch(IOException e1){ e1.printStackTrace(); }

❸ java連接oracle資料庫報網路適配器異常

先用plsql測試一下能否連接上資料庫,若連接不上安裝以下情況找問題
1、oracle配置問題
修改tnsnames.ora 文件
2、Ip問題

能ping通oracle伺服器的ip嗎?
3、防火牆
如果機器上安裝有放火牆,可能是伺服器埠號屏蔽而造成的。關閉防火牆後,嘗試重新連接。

❹ 常見JAVA運行時異常有哪些

1,java.lang.NullPointerException

這個異常的解釋是 "程序遇上了空指針 ",簡單地說就是調用了未經初始化的對象或者是不存在的對象,這個錯誤經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。

2,java.lang.ClassNotFoundException

異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可

3,java.lang.

這個異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了.

4,java.lang.NoSuchMethodError

方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。

5,java.lang.IndexOutOfBoundsException

索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,拋出該異常。

6,java.lang.NumberFormatException

數字格式異常。當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常。

7,java.sql.SQLException

Sql語句執行異常

8,java.io.IOException

輸入輸出異常

9,java.lang.IllegalArgumentException

方法參數錯誤

10java.lang.IllegalAccessException

無訪問許可權異常

(4)java檢測網路異常擴展閱讀:

Java技術應用領域:

1、Android應用

許多的 Android應用都是Java程序員開發者開發。雖然 Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA游戲,這就使很多非編程人員都認識了JAVA。

2、在金融業應用的伺服器程序

Java在金融服務業的應用非常廣泛,很多第三方交易系統、銀行、金融機構都選擇用Java開發,因為相對而言,Java較安全 。大型跨國投資銀行用Java來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。

3、網站

Java 在電子商務領域以及網站開發領域占據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的 servlet,jsp和以struts為基礎的網站在政府項目中也經常被用到。例如醫療救護、保險、教育、國防以及其他的不同部門網站都是以Java為基礎來開發的。

4、嵌入式領域

Java在嵌入式領域發展空間很大。在這個平台上,只需130KB就能夠使用Java技術(在智能卡或者感測器上)。

5、大數據技術

Hadoop以及其他大數據處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。

6、高頻交易的空間

Java平台提高了這個平台的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由於這個原因,Java成為的程序員編寫交易平台的語言,因為雖然性能不比C++,但開發人員可以避開安全性,可移植性和可維護性等問題。

7、科學應用

Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。

❺ Java中必檢異常有哪些為啥要必檢免檢異常有哪些

摘要 java的異常分為兩大類,受檢異常(即必檢異常),它繼承自Exception類和運行時異常(即免檢異常)它繼承自RuntimeException

❻ 詳細描述java是如何處理異常的

當出現程序無法控制的外部環境問題(用戶提供的文件不存在,文件內容損壞,網路不可用...)時,JAVA就會用異常對象來描述。
JAVA中用2種方法處理異常:
1.在發生異常的地方直接處理;
2.將異常拋給調用者,讓調用者處理。
JAVA異常可分為3種:
(1)檢查性異常:java.lang.Exception
(2)運行期異常:java.lang.RuntimeException
(3)錯誤:java.lang.Error
頂層是java.lang.Throwable類,檢查性異常,運行期異常,錯誤都是這個類的子孫類。
java.lang.Exception和java.lang.Error繼承自java.lang.Throwable,而java.lang.RuntimeException繼承自java.lang.Exception.
檢查性異常------程序正確,但因為外在的環境條件不滿足引發。例如:用戶錯誤及I/O問題----程序試圖打開一個並不存在的遠程Socket埠。這不是程序本身的邏輯錯誤,而很可能是遠程機器名字錯誤(用戶拼寫錯誤)。對商用軟體系統,程序開發者必須考慮並處理這個問題。JAVA編譯器強制要求處理這類異常,如果不捕獲這類異常,程序將不能被編譯。
運行期異常------這意味著程序存在bug,如數組越界,0被除,入參不滿足規范.....這類異常需要更改程序來避免,JAVA編譯器強制要求處理這類異常。
錯誤------一般很少見,也很難通過程序解決。它可能源於程序的bug,但一般更可能源於環境問題,如內存耗盡。錯誤在程序中無須處理,而有運行環境處理。
如何處理異常?
1.try...catch
程序運行產生異常時,將從異常發生點中斷程序並向外拋出異常信息。
Java代碼
int x = (int)(Math.random()*5);
int y = (int)(Math.random()*10);
int[] z =new int[5];
try
{
System.out.println("y/x="+(y/x));
System.out.println("y="+y+"z[y]="+z[y]);
}
catch (ArithmeticException exc1)
{
System.out.println("算術運算異常:"+exc1.getMessage());
}
catch ( exc2)
{
System.out.println("數據越界異常:"+exc2.getMessage());
}
說明:ArithmeticException和都屬運行期異常:java.lang.RuntimeException,如果不用try...catch捕獲,程序也是可通過編譯的,但如果屬於檢查性異常:java.lang.Exception,必須而且一定要用try...catch...對其進行處理。
2.finally
如果把finally塊置try...catch...語句後,finally塊一般都會得到執行,它相當於一個萬能的保險,即使前面的try塊發生異常,而又沒有對應異常的catch塊,finally塊將馬上執行。
以下情形,finally塊將不會被執行:
(1)finally塊中發生了異常;
(2)程序所在線程死亡;
(3)在前面的代碼中用了System.exit();
(4)關閉CPU。
3.多個異常的處理規則:
定義多個catch可精確地定位異常。如果為子類的異常定義了特殊的catch塊,而父類的異常則放在另外一個catch塊中,此時,必須滿足以下規則:子類異常的處理塊必須在父類異常處理塊的前面,否則會發生編譯錯誤。所以,越特殊的異常越在前面處理,越普遍的異常越在後面處理。這類似於制訂防火牆的規則次序:較特殊的規則在前,較普通的規則在後。
自己也可以定義並拋出異常,方法是2步:創建異常,拋出異常(首先實例化一個異常對象,然後用thow拋出)合在一起就是----
thow new IOException("異常說明信息")。將創建異常,拋出異常合在一起的好處是:創建異常時,會包含異常創建處的行信息,異常被捕獲時可以通過堆棧跡(stack Trace)的形式報告這些信息。如果在同一行代碼創建和拋出異常,對於程序的調試將非常有用。
所以,thow new XXX()已經成為一個標準的異常拋出範式。
在定義一個方法時,方法塊中調用的方法可能會拋出異常,可用上面的thow new XXX()處理,如果不處理,那麼必須在方法定義時,用thows聲明這個方法會拋出的異常。
對異常的處理,有一條行之有效的默認規則:向上拋出-----被調用類在運行過程中對遇到的異常一概不作處理,而是直接向上拋出,一直到最上層的調用類,調用類根據應用系統的需求和特定的異常處理規則進行處理,如向控制台輸出異常堆棧信息,列印在日誌文件中。用一句形象的話來說,就是誰使用,誰(最上層的調用類)處理。

❼ java怎麼判斷與伺服器連接發生異常什麼返回值

舉個例子吧:
try {
if (rs.next()) { MenuDemo menul = new MenuDemo();
System.out.println("成功");

} else {
JOptionPane.showMessageDialog(null, "用戶名或密碼不正確!",
"提示窗口", JOptionPane.PLAIN_MESSAGE);
}
} catch (SQLException e) {
e.printStackTrace();

❽ Java的異常中哪些是檢查型異常

java中異常分為兩類:

checked exception(檢查異常)和unchecked exception(未檢查異常),對於未檢查異常也叫RuntimeException(運行時異常)。

❾ Java 網路通信異常求解

這個你這種方式是不能直接readObject的。除了伺服器那邊通過writeObject寫對象,客戶端這邊通過socket.getInputStream來readObject,這種要對象是序列化的,不過一般不用這種方式。
另一種是像你這種,服務端那邊直接寫位元組,客戶端讀取位元組,然後解析,再給對象屬性賦值,這種我們用的xsocket的框架,支持非同步的,你可以到網上看下。

❿ 不允許被ping的網路資源java怎麼檢測

要用Java檢測網路資源是否可用,我們可以採用以下兩種方法:
一種方法是調用ping命令,
如:
Process process= Runtime.getRuntime().exec("ping 192.168.0.5");
InputStreamReader return = new InputStreamReader(process.getInputStream());
LineNumberReader returnData = new LineNumberReader (return);

String line="";
while((line=returnData.readLine())!=null){
System.out.println(line);
}
通用對返回數據進行分析,來探測網路資源的可用性;
這種方法有一個缺點:就是許多網路資源是不允許被ping的,從而針對這類資源無法探測。
(2008-07-28記)

閱讀全文

與java檢測網路異常相關的資料

熱點內容
網路機頂盒哪個牌子好用不卡頓 瀏覽:593
網路下載文字有換行怎麼替換 瀏覽:905
網路用語dm是什麼意思 瀏覽:172
iphone6蜂窩移動網路會斷網嗎 瀏覽:699
網路用語洋玩具是什麼意思 瀏覽:934
電腦網路被攻擊 瀏覽:112
廣西柳州電視網路安裝多少錢 瀏覽:368
wifi讀書顯示網路異常 瀏覽:402
如何添加網路埠數 瀏覽:650
s7t5g網路在哪裡關閉 瀏覽:649
網路行為哪些違法 瀏覽:456
中國的移動網路好嗎 瀏覽:404
刮風然後網路異常 瀏覽:504
榮耀手機如何用數據線共享網路 瀏覽:673
獲取不了網路參數怎麼設置 瀏覽:937
無線網路盒插線介面 瀏覽:633
台式在哪裡開啟無線網路 瀏覽:687
區域內找不到無線網路電視 瀏覽:587
網路安全手機發布 瀏覽:676
想學習網路技術哪裡可以學 瀏覽:963

友情鏈接