㈠ java中常見的幾種異常
1、空指針異常類:NullPointerException
調用了未經初始化的對象或者是不存在的對象。經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。對數組操作中出現空指針, 即把數組的初始化和數組元素的初始化混淆起來了。
數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化, 依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)。
2、數據類型轉換異常:java.lang.ClassCastException
當試圖將對某個對象強制執行向下轉型,但該對象又不可轉換又不可轉換為其子類的實例時將引發該異常,如下列代碼。
Object obj=newInteger(0);
String str = obj;
3、沒有訪問許可權:java.lang.IllegalAccessException
當應用程序要調用一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程序中用了Package的情況下要注意這個異常。
4、方法的參數錯誤:java.lang.IllegalArgumentException
比如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。
5、數組下標越界異常:java.lang.IndexOutOfBoundsException
查看調用的數組或者字元串的下標值是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了。
還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候先查看一下數組的length,以免出現這個異常。
6、文件已結束異常:EOFException
當程序在輸入的過程中遇到文件或流的結尾時,引發異常。因此該異常用於檢查是否達到文件或流的結尾
7、文件未找到異常:FileNotFoundException
當程序試圖打開一個不存在的文件進行讀寫時將會引發該異常。該異常由FileInputStream,FileOutputStream,RandomAccessFile的構造器聲明拋出,即使被操作的文件存在,但是由於某些原因不可訪問,比如打開一個只讀文件進行寫入,這些構造方法仍然會引發異常。
8、字元串轉換為數字異常:NumberFormatException
當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常.如現在講字元型的數據「123456」轉換為數值型數據時,是允許的。
但是如果字元型數據中包含了非數字型的字元,如123#56,此時轉換為數值型時就會出現異常。系統就會捕捉到這個異常,並進行處理。
9、指定的類不存在:java.lang.ClassNotFoundException
這里主要考慮一下類的名稱和路徑是否正確即可,通常都是程序試圖通過字元串來載入某個類時可能引發異常。比如:調用Class.forName;或者調用ClassLoad的finaSystemClass;或者LoadClass;
10、實例化異常:java.lang.InstantiationException
當試圖通過Class的newInstance方法創建某個類的實例,但程序無法通過該構造器來創建該對象時引發。Class對象表示一個抽象類,介面,數組類,基本類型 。該Class表示的類沒有對應的構造器。
㈡ java 網路閃斷 會拋出什麼類型異常
你要明白異常是程序中的一些錯誤,但並不是所有的錯誤都是異常, 比如0不能做除數 你再設計的時候就屏蔽了 int x =0 int y=9 s=y/x 如果把0不能做除數這個異常直接顯示出來則s=y/x直接就編譯不通過了 但是 你要表示 s=9/0 呢 編譯都不通過 怎麼表示 所以s=9/0要拋出一個異常然後你可以根據這個異常給出提示 直接顯示出0不能作為除數
㈢ 急求一段Java代碼可實現窗口抖動功能。最好能詳細點。
實現滑鼠點擊的監聽,然後實現類似於下面的代碼:
setLocation(x, y);
Thread.sleep(100);
setLocation(x+20, y);
Thread.sleep(100);
setLocation(x, y+20);
將其放進循環裡面循環三五次什麼的,坐標的變換根據震動的幅度和范圍進行調整,睡眠時間也根據自己的需要設置就行了。
如果坐標變化需要看起來連續的話,就需要將坐標的位置設置成函數,再利用循環來讓其位置不斷的變換了。
㈣ java.net.SocketException: Network is unreachable: connect 原因是我這邊網路忽然斷開無法連接伺服器
有一個onClose屬性,客戶端關閉瀏覽器的時候執行onClose方法,這時要將session回話關閉。
㈤ java里socket通信,異常處理問題。
直接用這種方式處理:
while(true){
socket=newSocket(("192.168.183.1",9002);
socket.setSoTimeout(5000);//5000ms=5s
try{
socket.connect();
}catch(IOExceptione){
//這行寫你提示通信失敗提示
continue;
}
}
㈥ java出現運行時異常有什麼問題
-數組越界訪問
ArrayStoreException -
數據存儲異常,寫數組操作時,對象或數據類型不兼容
ClassCastException - 類型轉換異常
IllegalArgumentException
- 方法的參數無效
IllegalThreadStateException -試圖非法改變線程狀態,比方說試圖啟動一已經運行的線程
NullPointerException -
試圖訪問一空對象的變數、方法或空數組的元素
NumberFormatException -
數據格式異常,試圖把一字元串非法轉換成數值(或相反)
SecurityException -
如果Applet試圖執行一被WWW瀏覽器安全設置所禁止的操作
-如改變了某一類定義,卻沒有重新編譯其他引用了這個類的對象。如某一成員變數的聲明被從靜態改變為非靜態,但其他引用了這個變數的類卻沒有重新編譯,或者相反。如刪除了類聲明中的某一域或方法,但沒有重新編譯那些引用了這個域或方法的類
OutOfMemoryException -
內存不足,通常發生於創建對象之時
NoClassDefFoundException-JAVA運行時系統找不到所引用的類
IncompatibleTypeException -試圖實例化一個介面,Java運行時系統將拋出這個異常
UnsatisfiedLinkException-如果所需調用的方法是C函數,但Java運行時系統卻無法連接這個函數
系統內部故障所導致的異常情況,可能是因為Java運行時系統本身的原因。如果發現一可重現的InternalException,可以直接給Sun公司發電郵[email protected]
㈦ Java 網路通信異常求解
這個你這種方式是不能直接readObject的。除了伺服器那邊通過writeObject寫對象,客戶端這邊通過socket.getInputStream來readObject,這種要對象是序列化的,不過一般不用這種方式。
另一種是像你這種,服務端那邊直接寫位元組,客戶端讀取位元組,然後解析,再給對象屬性賦值,這種我們用的xsocket的框架,支持非同步的,你可以到網上看下。
㈧ java web中的異常問題
這是演算法異常了,沒有正常拋出。是你的那個int b=1/0;引起的。
你可以用
try {
int b=1/0;
} catch (Exception e) {
e.printStackTrace();
}
那你試下這樣,System.out.println(b),我沒估計錯的話,程序會正常拋出錯誤的。可能是因為這個是屬於運行時異常才沒有正常捕捉到
㈨ java url exception 能不能在拋出連接異常的時候再次連接
當然能。樓主應該把程序的每個功能模塊化。就是說,把連接url這個工作和連接成功之後的工作分開。具體是,在負責連接url的程序塊寫上try,catch。每catch到一個exception的時候就去處理這個exception,沒有exception就new出一個單獨的線程來負責該url後續的工作。一句說到底,就是在連接url的這個模塊,沒有exception出現就new一個線程之後就不用管他了,有exception就catch住它然後處理(比如你說要的跳過)就是了。
㈩ 常見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
無訪問許可權異常
(10)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++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。