JAVA中常見異常小結


1、java.lang.ArithmeticException

算術運算異常,例如除數為0,所以引發了算數異常

 

2、Java.lang.StringIndexOutOfBoundsException: 

這是截取字符串substring()產生的下標越界異常。原因是可能是字符串為空,或長度不足1

 

3、Java.lang.NullPointerException空指針異常

出現該異常的原因在於某個引用為null,但卻調用了它的某個方法,這時就會出現該異常

 

4、ClassCastException

類型強制轉換異常,例如:String str = "a";Integer num =(Integer )str;

 

5、IllegalArgumentException

傳遞非法參數異常,此異常表明向方法傳遞了一個不合法或不正確的參數。你看看傳值的方法是否參數不正確

 

6、NumberFormatException

數字格式異常,例如:String str = "a";Integer.parseInt(str);

 

7、ClientAbortException: java.io.IOException異常

原因是由於服務器正在處理http請求,正在輸出內容時,用戶關閉了瀏覽器,造成了ClientAbortException異常。它屬於I/O異常中比較常見的一種。

 

8、java.lang.classnotfoundexception

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

 

 

9、ClientAbortException  Caused by: java.NET.SocketException: Connection reset by peer: socket write error

這種異常已比較常見,通常有以下幾種情況:

服務器的並發連接數超過了其承載量,服務器會將其中一些連接Down掉;客戶關掉了瀏覽器,而服務器還在給客戶端發送數據

 

10、ArrayStoreException

向數組中存放與聲明類型不兼容對象異常,例如:Object x[] = new String[3];x[0] = new Integer(0);

 

11、NegativeArraySizeException

創建一個大小為負數的數組錯誤異常,例如int[] arr = new int[10];int i = arr[-1];

 

12、SecurityException

安全異常,例如:Android的權限異常,運行java的程序提示Missing requited Permissions manifest attribute in main jar等

 

13、EOFException

文件已結束異常

 

14、FileNotFoundException

文件未找到異常

 

15、SQLException

操作數據庫異常

 

16、NoSuchMethodException

方法未找到異常

 

17、java.lang.ArrayIndexOutOfBoundsException

數組索引越界異常。當對數組的索引值為負數或大於等於數組大小時拋出。

 

18、java.lang.IllegalAccessException

違法的訪問異常。當應用試圖通過反射方式創建某個類的實例、訪問該類屬性、調用該類方法,而當時又無法訪問類的、屬性的、方法的或構造方法的定義時拋出該異常。

 

19、java.lang.IllegalMonitorStateException

違法的監控狀態異常。當某個線程試圖等待一個自己並不擁有的對象(O)的監控器或者通知其他線程等待該對象(O)的監控器時,拋出該異常。

 

20、java.lang.IllegalStateException

違法的狀態異常。當在Java環境和應用尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出該異常。

 

21、java.lang.IllegalThreadStateException

違法的線程狀態異常。當縣城尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出異常。

 

22、java.lang.InstantiationException

實例化異常。當試圖通過newInstance()方法創建某個類的實例,而該類是一個抽象類或接口時,拋出該異常。

 

23、java.lang.InterruptedException

被中止異常。當某個線程處於長時間的等待、休眠或其他暫停狀態,而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。

 

24、java.lang.NoSuchFieldException

屬性不存在異常。當訪問某個類的不存在的屬性時拋出該異常。

 

25、java.lang.RuntimeException

運行時異常。是所有Java虛擬機正常操作期間可以被拋出的異常的父類。

 

26、java.lang.TypeNotPresentException

類型不存在異常。

 

27、com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`tb_room`, CONSTRAINT `room_hotel_id` FOREIGN KEY (`room_hotel_id`) REFERENCES `tb_hotel` (`hotel_id`) ON DELETE NO ACTION ON UPDATE NO ACTION)

外部關聯未允許級聯操作異常,cascade="all",可以允許級聯操作。

 

28、org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'studentService' defined in file 

原因:StudentService未標注@component找不到對象或@service@controller@repository

 

29、org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []

原因一:<session-factory name="">默認設置了name屬性為空,去掉該屬性。

 

30、xml.sax.SAXParseException

 一般為頭部文件配置語法錯誤

 

31、java.io.NotSerializableException

一般為bean沒有序列化異常

 

32、org.apache.ibatis.cache.CacheException:Error Serializing Object

一般為開啟mybatis二級緩存<cache>后,javabean對象沒有實現序列化導致implements serializable

 

*重要mybatis+spring 33、org.springframwork.beans.factory.UnsatisfiedDependencyException

此異常出現原因主要有兩點:

一、沒有完成sqlSessionFactory注入,在1.2版本以后取消了spring自動注入,需要重寫源碼SqlSessionDaoSupport中的setSqlSessionFactory方法,

並且在重寫后的方法上添加spring注解@Resource或者@Autowired.

二、若還是沒有解決以上問題,則檢查spring-servlet.xml配置中<property name="mapperResources" 后的value值內容,映射的bean .xml是否配置正確,若有通配符,最好取消測試下。

 

33、org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' defined in class path resource [spring-shiro-web.xml]: Cannot resolve reference to bean 'securityManager' while setting bean property 'securityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityManager' defined in class path resource [spring-shiro-web.xml]: Cannot resolve reference to bean 'myRealm' while setting bean property 'realm'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myRealm': Unsatisfied dependency expressed through method 'setClerkDAO' parameter 0;

此異常一般為需要注入的對象所在的類未交給sping管理,添加對應的注解,或者檢查掃描的包是否包含當前類

34、

HTTP Status 400 -

type Status report

message

description The request sent by the client was syntactically incorrect.
一般為輸入的字段與javabean字段類型不符合,不能直接封裝成javabean對象,仔細檢查字段類型

35、上傳文件異常?

HTTP Status 500 - Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Current request is not a multipart request

首先檢查提交的FORM有沒有加enctype="multipart/form-data"
其次檢查form中提交方式是否為Method="post",一定要為post解析字節碼,流傳輸

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM