异常
1.在被调用端来处理运行时异常
try…catch处理异常的特点:
- try内部发生异常下面的代码执行
- 产生的异常对象被catch块里面的参数接收
- catch块来处理异常(如何处理要根据具体的业务要求)
- 如果异常对象被catch来处理就不会向上抛出
- 由于异常对象被处理了,异常后面的代码就会正常的执行
- 调用端不会感知到异常的产生(因为没有向上抛出异常对象),后面的代码正常执行。
2.在调用端来处理运行时异常
try {
//接收到异常对象
result = divide(10, 0);
} catch (Exception e) {
//处理异常
System.out.println("哈哈,不好意思呀,传错参数了");
result = divide(10, 5);
}
try catch finally
1.try…..finally
发生了异常会向上的抛出,但是finally里面的代码永远会得到执行
return(方法返回值)后面可以通过finally来执行代码
2.try …..catch …..finally
finally里面适合做方法的资源关闭和收尾的工作
finally是唯一一个可以return一次之后还能return的代码块,可以修改方法的返回值
自定义异常
在类中继承RuntimeException的构造器即可。
| public class StockException extends RuntimeException { |
自定义异常使用
throw new StockException("服务器异常");



