概述
---------------------------- java编译期的异常处理和自定义异常-----------------
两种方式
1. 自己处理
/**
* 自己处理的方法
* 编译期的异常处理不是抛出就是自己处理
*/
publicstaticvoid divide(){
try {
ServerSocket ss = newServerSocket(8888);
} catch(IOException e) {
System.out.println("端口被占用");
e.printStackTrace();
}
}
2.向上抛出
/**
* 向上抛出的方法
* 编译期的异常处理不是抛出就是自己处理
* @throwsIOException
*/
publicstaticvoid divide() throwsIOException {
ServerSocket ss = newServerSocket(8888);
}
一般处理方式
编译期的异常自行处理即可
运行时异常要向上抛出
--------------自定义异常------------------
我们自己定义的异常都是运行期的异常.
自定义异常的步骤
1.创建一个异常类继承RuntimeException;
/**
* 自定义的异常直接来继承父类的构造器就可以了
* @author Administrator
*
*/
publicclass StockExceptionextends RuntimeException {
public StockException() {
super();
}
publicStockException(String message, Throwable cause, booleanenableSuppression, booleanwritableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
publicStockException(String message, Throwable cause) {
super(message, cause);
}
publicStockException(String message) {
super(message);
}
publicStockException(Throwable cause) {
super(cause);
}
}
2.继承RuntimeException的构造器;
publicclass test11 {
publicstaticvoidmain(String[] args) {
buyItem();
}
/**
* 自己处理的方法
* 编译期的异常处理不是抛出就是自己处理
*/
publicstaticvoid buyItem(){
intstock = 0;
if (stock == 0) {
//我们主动抛出异常
thrownewStockException("库存不足");
}
}
}
运行结果
最后
以上就是等待黑夜为你收集整理的java编译期的异常处理和自定义异常的全部内容,希望文章能够帮你解决java编译期的异常处理和自定义异常所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复