java异常

Java通过throwable以及它的子类对异常进行描述

throwable
•Error:是程序无法处理的错误,表示运行应用程序中较严重的问题。
(error发生的错误一般和我们操作者没关系的,是Java虚拟机发生了问题)
•虚拟机错误:
•内存溢出
•线程死锁
•exception是程序本身可以处理的异常
•非检查异常 Unchecked Exception
•编译器不要求强制处理的异常 这些异常在编译阶段是不报错的,但是在运行阶段时报错的。
•空指针异常 nullpointerexception
•数组下标越界异常 Arrayindexoutofboundsexception
•算数异常 Arithmeticexception
•类型转换异常 Classcastexception

•检查异常 Checked Exception 编译器要求必须处理的异常
•Ioexception IO异常
•SQLexception SQL异常

异常处理
•捕捉异常
•出现异常时,Java提供一系列的处理机制对其进行处理
•抛出异常 程序出现异常时,会产生异常对象,将对象作抛出去的处理
•异常对象:异常类型、异常出现的程序状态等。。。

异常处理的5个关键字
try catch finally throw throws

捕获异常
1、try 执行可能产生异常的代码
2、catch 捕获异常
3、finally 无论是否发生异常,代码总能执行

throw和throws
可以通过throws声明将要抛出何种类型的异常,通过throw将产生的异常抛出

throws:如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句声明抛出异常。

使用throw抛出异常对象
•throw用来抛出一个异常
例子;throw new IOException();

•throw抛出的只能够是可抛出类throwable或者其子类的实例对象
例子:throw new String(“出错啦”);

对于抛出异常要知道有以下2点好处:
•规避可能出现的风险
•完成一些程序逻辑

自定义异常
•使用Java 内置的异常类可以描述编程时出现的大部分异常情况
•也可以自定义异常描述特定业务产生的类型
•所谓的自定义异常,就是定义一个类,去继承Throwable或者它的子类

异常链
有时候会捕捉一个异常后再抛出另一个异常
将异常发生的原因一个传一个串起来
将底层的异常信息传递给上层,这样的样式组曾输出

实际应用的经验和总结:
•处理运行时异常,采用逻辑去合理规避同时辅助以try catch形式
•在多重catch块里面,建议尽量添加catch(Exception e){}
•对于不确定的代码,可以添加try catch处理
•尽量处理异常,不要简单的使用e.printstrace();
•具体如何处理,根据业务逻辑和不同的异常类型决定
•尽量加上finally语句块取释放占用的资源的。
•finally{ str.close(); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值