异常之详解
定義:軟件運(yùn)行過程中,遇到輸入不符合要求,程序打不開文件(文件可能不存在或格式不對),空指針,內(nèi)存或硬盤滿了,網(wǎng)絡(luò)連接失敗,非法參數(shù)等等這些異常問題,稱為異常,Exception。發(fā)生在程序運(yùn)行期間。
簡單分類:
1.檢查性異常:無法預(yù)見,打開一個(gè)不存在文件
2.運(yùn)行時(shí)異常:容易被忽略,比喻寫沒問題,運(yùn)行出問題
3.錯(cuò)誤ERROR:錯(cuò)誤不是異常,容易被忽略,棧溢出,錯(cuò)誤就出現(xiàn)了,編譯是檢查不到的。
異常體系結(jié)構(gòu):
1.Throwable是所有異常的超類
2.異常分兩大類:Error和Exception
?
Error:
1.由java虛擬機(jī)生成并拋出,大多數(shù)錯(cuò)誤與代碼編寫者執(zhí)行的操作無關(guān)
2.?會(huì)選擇線程終止
3.類定義錯(cuò)誤(NoClassDefFoundError),鏈接錯(cuò)誤(LinkageError),不可查,程序控制能力之外,不允許出現(xiàn)的。
Exception:
1.
這些異常是不檢查異常,可以捕獲處理也可以不處理
2.程序邏輯導(dǎo)致,應(yīng)避免
3.Error和Exception區(qū)別:?
前者程序無法控制,出現(xiàn)時(shí)Jvm會(huì)終止線程,后者可以被程序處理,應(yīng)盡可能去處理。
package com.wuming.exception;public class Demo01 {public static void main(String[] args) {//報(bào)異常如下// new Demo01().a();//Exception in thread "main" java.lang.StackOverflowError//內(nèi)存溢出// System.out.println(11/0);//Exception in thread "main" java.lang.ArithmeticException: / by zero//分母不能為0// System.out.println()//Error:(8, 29) java: 需要';'//沒有;}public void a(){b();}public void b(){a();} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: C语言 数组排序 – 选择法排序 - C
- 下一篇: jq之callback