动手动脑:java异常处理基础知识

java异常处理基础知识

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import javax.swing.*;
 
class AboutException {
   public static void main(String[] a)
   {
      int i=1, j=0, k;
      k=i/j;
 
 
    try
    {
         
        k = i/j;    // Causes division-by-zero exception
        //throw new Exception("Hello.Exception!");
    }
     
    catch ( ArithmeticException e)
    {
        System.out.println("被0除.  "+ e.getMessage());
    }
     
    catch (Exception e)
    {
        if (e instanceof ArithmeticException)
            System.out.println("被0除");
        else
        
            System.out.println(e.getMessage());
             
        }
    }
 
     
    finally
     {
            JOptionPane.showConfirmDialog(null,"OK");
     }
         
  }
}

  

异常捕获语句

1
2
3
4
5
6
7
8
9
Try{
            //可能发生运行错误的代码;
        }
        catch(异常类型     异常对象引用){
            //用于处理异常的代码
        }
        finally{
            //用于“善后” 的代码
        }

  

 

Java 中所有可捕获的异常都派生自 Exception 类

异常处理机制:

  把可能会发生错误的代码放进try语句块中。

  当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。 catch语句块中的代码用于处理错误。

  当异常发生时,程序控制流程由try语句块跳转到catch语句块。

  不管是否有异常发生,finally语句块中的语句始终保证被执行。

  如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

Throwable类有两个直接子类:

Exception:出现的问题是可以被捕获的;

Error:系统错误,通常由JVM处理。

可捕获的异常又可以分为两类:

(1)Check异常:直接派生自Exception的异常类,必须被捕获或再次声明抛出

(2)Runtime异常:派生自RuntimeException的异常类。使用throw语句可以随时抛出这种异常对象:

posted @   ashuai~  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示