JAVA SE 异常处理
JAVA SE 异常处理
简介
异常:阻止程序正常运行的问题。
异常链:将捕获的异常包装进一个新的异常中,并重新抛出的异常处理方式。
一个方法应该抛出定义在相同的抽象层次上的异常,但不会丢弃更低层次的信息。
关键词:
- throw:将产生的异常抛出(动作)
- throws:声明要抛出的异常的名字(声明)
- try:捕获异常,用于会产生异常的代码块
- catch:处理异常,对try中捕获的异常进行处理
- finally:最后处理的区域,一定会进行的,通常用于清除操作
异常的分类:
应用实例
//自定义异常
class ExceptionName extends Exception{
public ExcetionName(){
super();
}
}
//抛出异常
public void methodName() throws Exception{
//调用会抛出的异常的方法或者
throw new Exception();
}
//try-catch语句、try-catch-finally语句
Scanner input = new Scanner(system.in);
try{
int one = input.nextInt();
int two = input.nextInt();
System.out.println(one/two);
}catch(InputMismatchException e1){
System.out.println("应该输入整数");
}catch(ArithmeticException e2){
System.out.println("除数不能为零");
}catch(Exception e3){
System.out.println("未知异常");
}finally{
//finally语句一定执行。进行善后工作。
System.out.prinlnt("执行完毕!");
}
注意事项
- 捕捉异常先小后大
- 最后添加catch(Exception),处理遗留的异常
- 尽量添加finally语句释放资源
- 处理异常,不能只用e.printStackTrace()
原文地址https://blog.csdn.net/weixin_38500325/article/details/81587857

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java中Static执行顺序
Java中Static执行顺序 什么是static static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。也就是说说被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问 static代码块 static关键字还有一个比较关键的作用就是用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。 static方法 静态方法可以直接通过类名调用,任何的实例也都可以调用, 因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。 static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰...
- 下一篇
「只出现一次的数字」python之leetcode刷题|007
题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,3,2] 输出: 3 示例 2: 输入: [0,1,0,1,0,1,99] 输出: 99 解答 这道题是中等难度的题目,刚开始我一看,哎,这么简单,顺手就写了起来 class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ for i in nums: if nums.count(i) == 1: return i 运行一看也正确,没啥问题,统计数字嘛,以前也遇见过。 可是当我看运行结果我才知道,这道题不是不仅仅是解出来结果就行了。还要考虑时间复杂度。 看一下我的运行结果 执行结果 可以看到只打败了10%的提交者,虽然解决了问题,可耗时太长,显然不是这道题的最好解决方法。 看看大佬的代码 class Solution(object): def ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16