自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java自定義異常類

開(kāi)發(fā) 后端
本文主要講解了關(guān)于Java自定義異常類的介紹。

自定義異常:步驟 ­

一:創(chuàng)建一個(gè)類繼承于Throwable或其子類;

二:添加構(gòu)造方法;

三:在一個(gè)方法中使用throw拋出異常;

四:在另一個(gè)方法中捕獲并處理異常。

示例:

一、繼承Exception類

Java代碼

  1. public class MyFirstException extends Exception {   
  2. public MyFirstException() {   
  3. super();   
  4. }   
  5. public MyFirstException(String msg) {   
  6. super(msg);   
  7. }   
  8. public MyFirstException(String msg, Throwable cause) {   
  9. super(msg, cause);   
  10. }   
  11. public MyFirstException(Throwable cause) {   
  12. super(cause);   
  13. }   
  14. //自定義異常類的主要作用是區(qū)分異常發(fā)生的位置,當(dāng)用戶遇到異常時(shí),   
  15. //根據(jù)異常名就可以知道哪里有異常,根據(jù)異常提示信息進(jìn)行修改。   
  16. }  

二、 繼承Throwable 類

Java代碼

  1. public class MySecondException extends Throwable {   
  2. public MySecondException() {   
  3. super();   
  4. }   
  5. public MySecondException(String msg) {   
  6. super(msg);   
  7. }   
  8. public MySecondException(String msg, Throwable cause) {   
  9. super(msg, cause);   
  10. }   
  11. public MySecondException(Throwable cause) {   
  12. super(cause);   
  13. }   
  14. }  

三、測(cè)試

Java代碼

  1. /**   
  2. * 自定義異常類的使用   
  3. * @author new   
  4.  
  5. */   
  6. public class TestMyException {   
  7. public static void firstException() throws MyFirstException{   
  8. throw new MyFirstException("\"firstException()\" method occurs an exception!");   
  9. }   
  10.    
  11. public static void secondException() throws MySecondException{   
  12. throw new MySecondException("\"secondException()\" method occurs an exception!");   
  13. }   
  14. public static void main(String[] args) {   
  15. try {   
  16. TestMyException.firstException();   
  17. TestMyException.secondException();   
  18. catch (MyFirstException e1){   
  19. System.out.println("Exception: " + e1.getMessage());   
  20. e1.printStackTrace();   
  21. catch (MySecondException e2){   
  22. System.out.println("Exception: " + e2.getMessage());   
  23. e2.printStackTrace();   
  24. }   
  25. //當(dāng)一個(gè)try塊后面跟著多個(gè)catch塊時(shí),如果發(fā)生的異常匹配***個(gè)catch塊的參數(shù),便將異常處理權(quán)利交給***個(gè)catch塊。   
  26. //如果發(fā)生的異常與***個(gè)catch塊不匹配,便看是否與第二個(gè)catch塊匹配,依次下去,如果到***依然無(wú)法匹配該異常,   
  27. //便需要在方法聲明中添加一條throw語(yǔ)句,將該異常拋出。   
  28. //因此,在有多個(gè)catch塊,而且每次處理的異常類型具有繼承關(guān)系時(shí),應(yīng)該首先catch子類異常,再catch父類異常。   
  29. //比如,如果MySecondException繼承MyFirstException,那么***將catch(MySecondException e2)放在前面   
  30. //把catch (MyFirstException e1)放在后面。   
  31. }  

原文鏈接:http://www.cnblogs.com/winkey4986/archive/2011/12/13/2285768.html

【編輯推薦】

  1. Java編程:數(shù)據(jù)的截尾與舍入
  2. Java版A星算法實(shí)現(xiàn)步驟
  3. Tomcat運(yùn)行Java Web內(nèi)存溢出總結(jié)
  4. Java NIO如何處理慢速的連接
  5. Java NIO2 AIO開(kāi)發(fā)核心流程
責(zé)任編輯:林師授 來(lái)源: winkey的博客
相關(guān)推薦

2009-08-03 16:37:49

C#異常類

2025-01-10 09:28:25

2021-06-17 06:52:37

C#自定義異常

2023-10-19 09:14:34

Java開(kāi)發(fā)

2015-02-12 15:33:43

微信SDK

2009-08-05 18:01:20

C#自定義異常處理

2015-02-12 15:38:26

微信SDK

2024-11-27 16:38:07

2024-08-02 10:21:32

C#Exception類自定義異常

2023-11-22 09:45:44

2016-12-26 15:25:59

Android自定義View

2015-07-29 10:31:16

Java緩存算法

2021-06-21 06:32:04

Python異常傳遞s自定義異常

2010-02-03 16:56:20

C++自定義類

2009-12-03 10:49:32

PHP自定義異常處理器

2024-04-09 08:41:41

JVM類加載Java

2022-08-08 08:17:43

類隔離加載器自定義類

2015-01-14 15:06:48

定義相機(jī)

2009-06-08 20:13:36

Eclipse自定義控

2022-04-24 15:17:56

鴻蒙操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)