throw和throws的区别
throw和throws的区别
抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常。下面它们之间的异同
一、系统自动抛异常
当程序语句出现一些逻辑错误、主义错误或类型转换错误时,系统会自动抛出异常
二、throw
1、throw是语句抛出一个异常,一般是在代码块的内部,当程序
现某种逻辑错误时由程序员主动抛出某种特定类型的异常
2、定义在方法体内
3、创建的是一个异常对象
4、确定了发生哪种异常才可以使用
三、throws
1、在方法参数列表后,throws后可以跟着多个异常名,表示抛出的异常用逗号隔开
2、表示向调用该类的位置抛出异常,不在该类解决
3、可能发生哪种异常
throws用在方法声明后面,跟的是异常类名,throw用在方法体内,跟的是异常对象名。
throws可以跟多个异常类名,用逗号隔开,throw只能抛出一个异常对象名。
throws表示抛出异常,由该方法的调用者来处理,throw表示抛出异常,由方法体内的语句处理。
throws表示出现异常的一种可能性,并不一定会发生这些异常,throw则是抛出了异常,执行throw则一定抛出了某种异常。
四、异常
异常概述:
异常:异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。简单来说就是程序出现了不正常的情况。异常本质就是Java当中对可能出现的问题进行描述的一种对象体现。
如果我们不做任何处理,异常将会交由虚拟机来处理
虚拟机的处理方式:
把异常的名称,异常出现的位置,异常原因,等信息输出打印在控制台,并同时将 程序停止执行。
在写程序时,对可能会出现异常的部分通常要用try{…}catch{…}去捕捉它并对它进行处理;
用try{…}catch{…}捕捉了异常之后一定要对在catch{…}中对其进行处理,那怕是最简单的一句输出语句,或栈输入e.printStackTrace();
如果是捕捉IO输入输出流中的异常,一定要在try{…}catch{…}后加finally{…}把输入输出流关闭;
如果在函数体内用throw抛出了某种异常,最好要在函数名中加throws抛异常声明,然后交给调用它的上层函数进行处理。
推荐阅读
-
H5 canvas中width、height和style的宽高区别详解
-
前端产品和后端产品的区别(深入解读两者间区别)
-
js数组查找某个元素位置(js数组和对象的区别)
-
mysql清空表数据的两种方式和区别解析
-
浅析application/x-www-form-urlencoded和multipart/form-data的区别
-
千兆网卡Intel 82567和82574的性能区别
-
Oracle中的Connect/session和process的区别及关系介绍
-
SQL中varchar和nvarchar的基本介绍及其区别
-
前端产品和后端产品的区别(深入解读两者间区别)
-
js和php的区别(浅谈php与js语言难易程度)