码迷,mamicode.com
首页 > 编程语言 > 详细

Java异常处理

时间:2021-01-08 11:44:23      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:的区别   示例   div   ice   ret   style   col   控制   ati   

一般来说,Java异常处理有两种:

1.JVM默认的异常处理方式

2.开发中的异常处理方式

JVM默认的异常处理方式

定义:在控制台打印错误信息,并终止程序。

开发中的异常处理方式(两种)

  • try...catch(finally):捕获,自己处理
  • throws:抛出,交给调用者

示例:

1.JVM默认的异常处理方式

public static void main(String[] args) {


        int a = 10/0;
        System.out.println(a);       
        System.out.println("结束!");
        
        
    }

 

public static void main(String[] args) {


        int a = 10/0;
        System.out.println(a);       
        System.out.println("结束!");
        
        
    }

运行结果:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at test.Tets01.main(Tets01.java:8)

2.1开发中的异常处理方式 try...catch(finally)

public static void main(String[] args) {

        
        try{
            
            int a = 10/0;
            System.out.println(a);
            
        }
        catch(Exception e)
        {
            System.out.println("出现除以零的情况");
            
        }
        finally
        {
            System.out.println("哈哈哈哈");
        }
        
        System.out.println("结束!");
        
        
    }

运行结果:

出现除以零的情况
哈哈哈哈
结束!

有无finally的区别:

public static void main(String[] args) {
   
        try{
            
            int a = 10/0;
            System.out.println(a);
            
        }
        catch(Exception e)
        {
            System.out.println("出现除以零的情况");
            return;//跳出当前,结束该方法。
        }
        finally
        {
            System.out.println("哈哈哈哈");
        }
        
        System.out.println("结束!");
        
        
    }

运行结果:

出现除以零的情况
哈哈哈哈

2.2开发中的异常处理方式 throws

抛出异常交给调用者处理

两种抛出异常情况:

2.2.1调用者拿到异常,抛给上层

public static void main(String[] args) throws Exception{
    
    show();
}
public static void show() throws Exception { int a = 10/0; System.out.println(a); }

运行结果:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at test.Test02.show(Test02.java:21)
    at test.Test02.main(Test02.java:8)

2.2.2调用者自己处理

public static void main(String[] args){

        
        try {
            show();
        } catch (Exception e) {
            System.out.println("我在catch内。");
        }
        System.out.println("结束!");
        

    }
    
    public static void show() throws Exception
    {
        int a = 10/0;
        System.out.println(a);
        
    }

运行结果:

我在catch内。
结束!

 

Java异常处理

标签:的区别   示例   div   ice   ret   style   col   控制   ati   

原文地址:https://www.cnblogs.com/sheep-cloud/p/14245516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!