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、請求400異常

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解析字節碼,流傳輸

這麼多異常,滿足你了沒~~~

想要更多幹貨、技術猛料的孩子,快點拿起手機掃碼關注我,我在這裏等你哦~

林老師帶你學編程https://wolzq.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章