zoukankan      html  css  js  c++  java
  • throw跟throws关键字

    throws关键字

    定义一个方法的时候可以使用throws关键字声明。使用throws关键字声明的方法表示此方法不处理异常,而交给方法调用处进行处理。

    throws关键字格式:

    public 返回值类型 方法名称(参数列表,,,)throws 异常类{};

     假设定义一个除法,对于除法操作可能出现异常,可能不会。所以对于这种方法最好将它使用throws关键字声明,一旦出现异常,

    则应该交给调用处处理。

    class Math{
        public int div(int i,int j) throws Exception{    // 定义除法操作,如果有异常,则交给被调用处处理
            int temp = i / j ;    // 计算,但是此处有可能出现异常
            return temp ;
        }
    };
    public class ThrowsDemo01{
        public static void main(String args[]){
            Math m = new Math() ;        // 实例化Math类对象
            try{
                System.out.println("除法操作:" + m.div(10,2)) ;
            }catch(Exception e){
                e.printStackTrace() ;    // 打印异常
            }
        }
    };
    因为div使用了throws关键字声明,所以调用此方法的时候,方法必须进行异常处理。通过try...catch;



    如果在主方法的声明也使用了throws关键字呢,那么是不是意味着主方法也可以不处理异常。
    class Math{
        public int div(int i,int j) throws Exception{    // 定义除法操作,如果有异常,则交给被调用处处理
            int temp = i / j ;    // 计算,但是此处有可能出现异常
            return temp ;
        }
    };
    public class ThrowsDemo02{
        // 在主方法中的所有异常都可以不使用try...catch进行处理
        public static void main(String args[]) throws Exception{
            Math m = new Math() ;        // 实例化Math类对象
            System.out.println("除法操作:" + m.div(10,0)) ;
        }
    };
    运行结果:

    Exception in thread "main" java.lang.ArithmeticException: / by zero
    at methoud.Math.div(ThisDemo06.java:4)
    at methoud.ThisDemo06.main(ThisDemo06.java:12)

    在本程序中,主方法不处理任何异常,而交给JAVA中最大头JVM,所以如果在主方法使用了throws关键字,则表示一切异常

    交给JVM进行处理。默认处理方式也是JVM完成。

    throw关键字

    throw关机字作用是抛出一个异常,抛出的时候是抛出的是一个异常类的实例化对象,

    在异常处理中,try语句要捕获的是一个异常对象,那么此异常对象也可以自己抛出。

    package methoud;
    public class ThisDemo06{
        public static void main(String args[]){
            try{
                throw new Exception("自己抛着玩的。") ;    // 抛出异常的实例化对象
            }catch(Exception e){
                System.out.println(e) ;
            }
        }
    };



  • 相关阅读:
    页面出现Incorrect string以及数据库内容乱码
    页面中的导航监测
    基于.NET平台常用的框架整理
    强化学习-简介
    强化学习五大方面-奖励与策略结构
    强化学习五大方面-环境
    MSP430G2ET时钟系统
    java每日一练 2020.7.27
    Java多线程
    java每日一练 2020.7.26
  • 原文地址:https://www.cnblogs.com/xiangwenyi/p/10064891.html
Copyright © 2011-2022 走看看