栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-10-16

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-16

异常(Throwable):程序执行过程中发生的不正常情况

​ 顶级父类:Throwable

​ 两个子类:Error和Exception

​ Error:Java虚拟机无法解决的严重问题,一般不编写针对性的代码进行处理

​ Exception:因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理

​ 异常分为:编译时异常(受检时异常)和运行时异常(非受检时异常)

​ 运行时异常(RuntimeException)举例如下:

​ StringIndexOutOfBoundsException 字符串角标越界

​ ArrayIndexOutOfBoundsException 数组角标越界

​ NullPointerException空指针异常

​ ClassCastException类型转换异常

​ NumberFormatException数值转换异常

​ InputMismatchException输入数据类型不匹配异常

​ ArithmeticException算术异常

​ 编译时异常举例如下:

​ IO Exception

Java异常的处理方式:

​ 方式一:try-catch-finally

​ 方式二:throws+异常类型

try-catch-finally的使用

​ try{

​ //可能出现异常的代码

​ }catch(异常类型1 变量名1){

​ //处理异常的方式

​ }catch(异常类型2 变量名2){

​ //处理异常的方式

​ }catch(异常类型3 变量名3){

​ //处理异常的方式

​ }

​ ……

​ finally{

​ //一定会执行的代码

​ }

说明:

​ 1,finally是可选的

​ 2, catch中的代码(异常类)如果没有子父类的关系,谁声明在上,谁声明在下无所谓。

​ catch中的代码如果有子父类的关系,则要求子类声明在上,父类声明在下,否则,报错。

​ 如下代码则是Exception是NumberFormatException和NullPointerException的父类,所以放在最下面

public static void main(String[] args) {

	System.out.println("输入整数:");

	Scanner scan=new Scanner(System.in);

	String a=scan.next();

	try {

		int str=Integer.parseInt(a);

	} catch (NumberFormatException e) {

		// TODO: handle exception

		System.out.println("出现数值转换异常了,不要着急,,,,");

	}catch (NullPointerException e) {

		// TODO: handle exception

		System.out.println("出现空指针异常了,不要着急,,,,");

	}catch (Exception e) {

		// TODO: handle exception

		System.out.println("出现空指针异常了,不要着急,,,,");

}

​ 3,常见异常解决方式:

​ e.getMessage();

​ e.printStackTrace();

​ 4,finally是一定会执行的,所以常常用于声明资源的释放

​ 5,try-catch-finally是可以嵌套的

throws+异常类型的使用

​ 1,异常与异常之间用逗号隔开

​ 2,此异常要声明在方法处

​ 3,

​ throw 用于方法的抛出(在方法体内),手动抛出

​ throws 用于方法的声明,抓取异常

​ throw用于抛出,throws用于解决

​ throw表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。

​ throws属于异常处理的一种方式,声明在方法的声明处。

体会:

​ try-catch-finally:真正的将异常给处理掉了

​ throw的方式只是将异常抛给了方法的调用者,并没有将异常真正的给处理掉

​ 自定义异常类:继承于现有的异常结构

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号