Java Exception 理解

本文详细介绍了Java中的异常处理机制,包括try-catch语句的使用,throw抛出异常的不同情况,以及如何自定义异常类。通过具体代码示例,展示了异常处理的基本流程和自定义异常的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、异常处理

1.try catch.......try中处理数据,catch捕获异常....例

   

 1 public class first {
 2     public static void main(String args[]){
 3         try{
 4             int a=8;
 5             int b=0;
 6             System.out.println(a/b);
 7         }
 8         catch(Exception e){
 9             System.out.println("hi");
10         }
11     }
12 
13 }

2.使用throw抛出异常,

        情况一:throw抛出的异常交给catch处理;

 1 package Exception;
 2 
 3 public class Try_catche {
 4     public void info(String sss) {
 5          try{
 6             if(sss.equals("ssssss")){
 7                 
 8             }
 9             else{
10                 throw new Exception("");
11             }
12          }
13          catch(Exception e){
14              System.out.println("咕咕咕咕");
15          }
16     }
17     public static void main(String args[]){
18         String a="asda";
19         new Try_catche().info(a);
20 }
21 }

     情况二:throw抛出的异常交给调用该程序的调用者处理;

 1 public class Try_catche {
 2     public void info(String sss)throws Exception {//将异常交给调用者处理
 3          
 4             if(sss.equals("ssssss")){
 5                 
 6             }
 7             else{
 8                 throw new Exception("");//这里抛出异常
 9             }
10          
11     }
12     public static void main(String args[]){
13         String a="asda";
14         try{
15         new Try_catche().info(a);
16         }
17         catch(Exception e){
18             System.out.println("处理完毕");//调用者处理异常
19         }
20 }
21 }

   情况三:有时候程序会对异常先进性简单处理再将此异常交给调用程序继续处理(先学习一下自己定义异常)

1.自己定义了一个Personal_Exception;

2.使用自定义异常二次捕获异常,二次处理异常;

 

 1 ublic class Try_catche {
 2     public void info(String sss)throws Personal_Exception {//将异常交给调用者处理
 3          try{
 4             if(sss.equals("ssssss")){
 5                 
 6             }
 7             else{
 8                 throw new Personal_Exception();//这里抛出异常
 9             }
10          }catch(Personal_Exception e){
11              System.out.println("第一次处理异常");//捕获异常第一次处理
12          }
13          if(sss.equals("xiaoming")){
14              throw new Personal_Exception();
15          }
16          
17     }
18     public static void main(String args[]){
19         String a="asda";
20         try{
21         new Try_catche().info(a);
22         }
23         catch(Personal_Exception e){
24             System.out.println("第二次处理异常处理完毕");//调用者二次处理异常
25         }
26 }
27 }

 


二、自己定义异常,继承基类异常Exception或者其他异常;

演示:自定义一个Personal_Exception继承基类Exception

1 public class Personal_Exception extends Exception {
2      public Personal_Exception(){};
3      public Personal_Exception(String msg){
4          super(msg);
5          System.out.println("自己定义的异常!");
6      }
7      
8 }

 

  

 

              

转载于:https://www.cnblogs.com/abstract-fabulous/p/4880959.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值