国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Exception異常處理

2019-11-06 06:51:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

要養(yǎng)成一個(gè)好習(xí)慣,在最后一個(gè)catch上去捕獲最大的Exception,以防止程序出現(xiàn)一個(gè)未捕獲的異常導(dǎo) 致程序退出。還要注意的是,若捕獲的異常中有父子類(lèi)關(guān)系的,一定是子類(lèi)異常在上,父類(lèi)異常在下。 例1:

package day03;/** * java異常捕獲機(jī)制中的try-catch * @author Administrator * */public class ExceptionDemo1 { public static void main(String[] args) { System.out.運(yùn)行結(jié)果:

程序開(kāi)始了1a反正就是出了個(gè)錯(cuò)!程序結(jié)束了

例2:finally示例:

package day03;/** * finally面試題 * @author Administrator * */public class ExceptionDemo3 { public static void main(String[] args) { System.out.println(test("0") + "," +test(null) + "," +test("")); } @SuppressWarnings("finally") public static int test(String str){ try { return '0'-str.charAt(0); } catch (NullPointerException e) { return 1; } catch (Exception e){ return 2; } finally{ return 3; } }}

運(yùn)行結(jié)果:

3,3,3

例3:自定義exception示例。 自定義人類(lèi)年齡不合法: 地異步寫(xiě)一個(gè)類(lèi)繼承至Exception,并重寫(xiě)父類(lèi)的方法:

package day03;public class IllegalAgeException extends Exception { /** * 該異常表示年齡不合法 */ private static final long serialVersionUID = 1L; public IllegalAgeException() { super(); // TODO Auto-generated constructor stub } public IllegalAgeException(String message, Throwable cause) { super(message, cause); // TODO Auto-generated constructor stub } public IllegalAgeException(String arg0) { super(arg0); // TODO Auto-generated constructor stub } public IllegalAgeException(Throwable cause) { super(cause); // TODO Auto-generated constructor stub }}

第二步:新建一個(gè)Person人用戶,設(shè)置年齡:

package day03;/** * 描述一個(gè)用戶信息 */public class Person { private int age; public int getAge() { return age; } /** * 通常,方法中使用throw拋出什么異常,方法 聲明的時(shí)候就要使用throws定義該異常的拋出。 * 方法上若使用throws聲明了某些異常的拋出時(shí),那么外界在調(diào)用該方法的時(shí)候就有一個(gè)強(qiáng)制要求,必須處理這些異常。 * 處理的手段有兩種: 1.try-catch捕獲該異常。2.接著向外拋出。 * 需要注意,當(dāng)我們使用throw拋出的不是RuntimeException及其子類(lèi)異常時(shí),就必須處理這個(gè)異常。 * @param age * @throws IllegalAgeException */ public void setAge(int age) throws IllegalAgeException{ if(age<0||age>100){throw new IllegalAgeException("不符合人類(lèi)年齡");} this.age = age; }}

第3步:使用自定義的異常測(cè)試:

package day03;public class TestPerson { public static void main(String[] args){ Person p = new Person(); try { p.setAge(1000); } catch (IllegalAgeException e) { e.printStackTrace(); }//這里會(huì)拋出異常。 System.out.println("他的年齡是:"+p.getAge()); }}

運(yùn)行結(jié)果:

day03.IllegalAgeException: 不符合人類(lèi)年齡 at day03.Person.setAge(Person.java:30) at day03.TestPerson.main(TestPerson.java:7)他的年齡是:0
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凯里市| 丹阳市| 土默特右旗| 吉林市| 兰州市| 扬州市| 保山市| 慈利县| 盐城市| 宜君县| 莱阳市| 临夏市| 华宁县| 库尔勒市| 张家界市| 天水市| 宣恩县| 九龙城区| 林西县| 宁远县| 合山市| 沙湾县| 新河县| 沿河| 星座| 伊宁市| 北川| 都江堰市| 安康市| 昌宁县| 景德镇市| 汨罗市| 马鞍山市| 太谷县| 云梦县| 泸水县| 沙坪坝区| 宜兰市| 邻水| 田林县| 方城县|