| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java异常 -> 正文阅读 |
|
[Java知识库]java异常 |
首先异常是什么呢?不好说,我的结论就是一种你可以去避免的问题,我们不能因为一些存在的异常,就让整个程序停止,这让不好,你的程序就太瘦弱了,健壮性不足,所以要学会异常,师夷长技以制夷。 异常体系图异常分运行时异常,这个你可以try catch ,另一个是编译异常必须要改,相当于癌症晚期了属于是 常见的运行异常
NullPointerException
这个异常我印象尤为深刻,为什么呢?因为我当时判断是老是出现这个异常,后面就是初始化之后才弄好的,总之这个异常就是你使用到了空指针
ArithmeticException
数学运算异常
就是你的数学问题,比如除数不能是0,指数大于0这些吧,
ArrayIndexOutOfBoundsException
数组下标越界异常
ClassCastException
类型转换异常
这个涉及到多态,
NumberFormatException
数字格式不正确异常
[]
经典案例就是字符串转数字(为什么"1234"可以,他不行捏"nanami"
编译异常,多是和文件Sql有关,我不会
处理异常一种是try+catch+final,一定有try 还有一种是throw,甩锅组合,把他甩到上一级,看啊看会不会处理,知道jvm,直接输出错误信息终止程序,其实只要你不用try catch都会默认throw 我觉得值得说说的就是一旦发生异常,try里面的语句就会转到catch或者final(无catch的情况且不会执行下面的语句了捏),要是有catch的话就还会执行下面的语句,其实也没什么。 放几道练习题就好了 这里唯一的一点就是只能return 一个,就是catch里的return只能做return的操作, 实践的案例如下,你让用户输入,用户指不定给你输入些牛马,所以这时就可以try catch?
这里说一点要注意的就是有多个异常的话,把子类的异常写前面,主要是逻辑问题,你要是第一个就写了父类的异常要是有的话,铁进入,后面再次重复也不好 我说说那个final其实无论如何都要执行,就是在程序快到异常,既无catch时会,会最后一个执行,普通的开摆就行 throws和throwthrow就是摆烂,看有无人员接手,一直摆烂,最后会摆到jvm上,jvm就会直接给你停了,叫你运行 细节一 throw和throws的区别 我觉得可以这么理解,方法只有一个throw,但类里却可以有许多方法所以用throws 细节二 自定义异常,就是extend继承运行异常,因为运行异常会有有默认的,但是你编译异常的一个个写,烦死了 细节三 当父类抛出异常时,子类重写的方法是不能超过父类异常的范围,就是说你子类的异常只能是父类的异常或其异常的子类。就像范问权限一样捏 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:05:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |