博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【知了堂学习笔记】java 自定义异常
阅读量:4459 次
发布时间:2019-06-08

本文共 1756 字,大约阅读时间需要 5 分钟。

 java 常见异常种类(Java Exception):

 

算术异常类:ArithmeticExecption

 

空指针异常类:NullPointerException

 

类型强制转换异常:ClassCastException

 

数组负下标异常:NegativeArrayException

 

数组下标越界异常:ArrayIndexOutOfBoundsException

 

违背安全原则异常:SecturityException

 

文件已结束异常:EOFException

 

文件未找到异常:FileNotFoundException

 

字符串转换为数字异常:NumberFormatException

操作数据库异常:SQLException

输入输出异常:IOException

方法未找到异常:NoSuchMethodException

 

 

常见异常类为两大类型Throwable是java异常的根类分为两大子类Error和Exception, Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还包含运行异常类Runtime_Exception和非运行异常类Non_RuntimeException这两个直接的子类。

今天主要谈谈自定义异常

为什么要自定义异常

我们不可能期待JVM(Java虚拟机)自动抛出一个自定义异常,也不能够期待JVM会自动处理一个自定义异常。所以发现异常以及异常处理还是得我们自己完成。所以我们要想做好一件事得先了解它是怎么产生的。

自定义异常的实例:

package text;//自定义一个异常继承RuntimeException异常public class Exception extends RuntimeException {    public Exception() {        super("自定义一个异常类");    }}// 模拟服务器异常登录public class ConnectionServer {    private final String ID = "123456";    private final String password = "guoxiao";    public void connect(String ID, String password) throws Exception {        if (this.ID != ID || this.password.equals(password)) {            throw new Exception();            // 模拟失败过程然后方法内部抛出异常        }    }}// 模拟登录过程public class LoginText {    public static void main(String[] args) {        LoginText laozhu = new LoginText();        laozhu.login("556ssa", "553xha");        // 创建一个老朱对象,然后登陆,让服务器返回一个异常。    }    public void login(String ID, String password) {        ConnectionServer connectionServer = new ConnectionServer();        try {            connectionServer.connect(ID, password);        } catch (Exception e) {            System.out.println(e.getMessage());        }    }}

不用try{ }catch(){}处理的输出结果

用try{}catch(){}处理的输出结果

 

请关注知了堂学习更多的java知识

转载于:https://www.cnblogs.com/pipixiao/p/7419902.html

你可能感兴趣的文章
mac 搭建virtualenv的那些坑
查看>>
多路复用IO模型
查看>>
2019秋招复习笔记--数据库基本操作
查看>>
2019秋招复习笔记--智力题
查看>>
MySQL学习笔记
查看>>
面试题
查看>>
DS博客作业08-课程总结
查看>>
利用Python爬虫刷店铺微博等访问量最简单有效教程
查看>>
浅谈软件测试与墨菲定律
查看>>
文件安全复制之 FastCopy
查看>>
强烈推荐美文之《从此刻起,我要》
查看>>
敏捷开发流程
查看>>
leetcode 412. Fizz Buzz
查看>>
对Netflix Ribbon的Loadbalancer类源码设计合理性的一点质疑
查看>>
关于日历的算法
查看>>
[QT编程]QT实现的一个渐隐渐显窗体
查看>>
在Web工程中引入Jquery插件报错解决方案
查看>>
大学总结之影响我最深的十本书
查看>>
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>