我是靠谱客的博主 柔弱荔枝,最近开发中收集的这篇文章主要介绍java-初学异常的学习笔记异常的特点异常的类型java中异常的处理方式自定义异常类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

异常

  • 异常的特点
  • 异常的类型
  • java中异常的处理方式
    • 面试题
  • 自定义异常类

异常的特点

1.异常在java中以类的形式存在,都可以创建对象。
2.编译时异常和运行时异常,都发生在运行阶段。

异常的类型

1.编译时异常(受控异常、受检异常)
一般发生的概率较高(需要在运行之前进行预处理)
2.运行时异常(非受控异常、未受检异常)
一般发生的概率较低

java中异常的处理方式

1.在方法声明的位置上,使用throws关键字,抛给上一级
2.使用try…catch语句进行异常的捕获
 catch异常的方法:
  1.getMesage 获取异常的简单描述
  2.printStackTrace() 打印异常堆栈追踪信息(常用)

注意:捕获异常后,后续代码继续执行,这就体现出java的健壮性

关于try…catch中的finally子句
1.在finally子句中代码是最后执行的,并且是一定会执行的,而且finally子句必须和try一起出现
2.通常在finally语句块中完成资源的释放

面试题

问:以下程序的输出结果是什么?
答:输出结果:100

Tip:这里关系到java本身的特点:1>逐行执行,2>return语句在方法最后执行

public class FinallyTest {
public static void main(String[] args) {
int result=m();
System.out.println(result);
}
public static int m(){
int i=100;
try{
return i;//return是一定最后执行的
}finally {
i++;//这个先执行,return后执行,但是还是输出100
}
}
}
final finally finalize的区别
final:是一个关键字,表示最终的不变的
finally:是一个关键字,在异常处理机制中与try联用,
在finally子句中代码是最后执行的,并且是一定会执行的
finalize: finalize()是Object中的一个方法,作为方法名出现,是个标识符

自定义异常类

固定写法:
1.编写一个类继承Exception或者RuntimeException
2.提供两个构造方法,无惨、有参(带String参数)
(注意:子类抛出的异常只能比父类少,不能多)
例如:

//自定义异常类
class ExceptionTest extends Exception{
public ExceptionTest() {
}
public ExceptionTest(String s) {
super(s);
}
}
//测试类
public class DiyExceptionTest{
public static void main(String[] args) {
ExceptionTest e1=new ExceptionTest("用户名不能为空");
//打印异常信息
e1.printStackTrace();
}
}

最后

以上就是柔弱荔枝为你收集整理的java-初学异常的学习笔记异常的特点异常的类型java中异常的处理方式自定义异常类的全部内容,希望文章能够帮你解决java-初学异常的学习笔记异常的特点异常的类型java中异常的处理方式自定义异常类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部