Java异常的相关知识

有些情况程序员认为是异常,JVM看来却是正常的,比如年龄是负数;所以,在这种情况下,我们就需要自己手动创建并抛出异常,这就需要用到throw了。

Exception e = new Exception("Age Exception");//创建异常对象

throw e;//抛出异常

程序员自己创建并抛出的对象必须通过throws或try{}、catch{}进行相应的处理。

如果异常被抛到顶层都没有捕捉就会将异常信息显示于顶层。当try{}块中的代码产生异常时,try{}块中的代码就会中断运行,并由catch{}块捕捉到产生的异常并作相应的处理,而try{}、catch{}后面的代码仍可正常执行。如果两种异常属于继承关系,则应按照从子到父的顺序进行处理。

由于Java有垃圾回收器,所以异常处理时不需要处理内存的回收问题,但是仍然有一些资源需要程序员来处理,比如文件、网络连接和图片等资源,这种情况可以在try{}、catch{}后加上finally{}块进行程序的清理工作,无论try{}块中有没有发生异常,finally{}块中的代码都一定会被执行。

通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息;throw只能用于抛出一种异常,而throws可以抛出多个异常,比如:throws Exception1,Exception2{}。

时间: 2024-10-25 08:51:59

Java异常的相关知识的相关文章

Java String类相关知识梳理(含字符串常量池(String Pool)知识)

目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(String Pool) 4. String类所用的连接符 5. String类的主要作用(简) 正文 1. String类是什么 1.1 定义 String类表示字符串.Java程序中的所有字符串都是这个String的实例,比如"abc".字符串为常数,它们的值在创建之后不能更改.因为字符

java之接口相关知识

1.接口用interface来声明 //定义一个动物接口 public interface Animal{ public void eat(); public void travel(); } 2.接口中的方法是抽象方法,抽象不能有方法体,并且接口中的方法默认的访问修饰符为public abstract 3.JDK1.8中,接口中的方法可以被default和static修饰,但是被修饰的方法必须有方法体 原文地址:https://www.cnblogs.com/wgblog-code/p/110

Java 容器相关知识全面总结

Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAdapter+ArrayList三剑客, 平时接触使用的容器也只有ArrayList和HashMap.导致对于整个Java容器体系的掌握和使用还停留在很浅的层面.省不足而思改进,那么跟着我来总结一下Java容器的相关知识吧. 结构 java容器类的继承结构 具体介绍 迭代器 Collection Lis

面试总结(一)——Java基础相关知识

面试总结(一)--Java基础相关知识 最近在面试,所以总结下面试容易问到的知识点,用来备份查看用. 若需转载,请注明出处. 1.面向对象的特点: 1.将复杂的事情简单化 2.面向对象将以前过程中的执行者,变成了指挥者 3.面向对象思想是符合人们思考习惯的思想 2.面向对象特征: 1.封装:隐藏对象的属性和实现的细节,仅对外提供公共访问方式 好处:将变化隔离,便于使用,提高复用和安全性. 原则:将不需要对外提供的内容隐藏起来,隐藏属性,提供公共方法对其访问. 2.继承:提高代码复用性,继承是多态

Java的File类相关知识

Java的File 目录: 1.创建File的文件或者目录的方法.... 2.创建File对象的构造器的三种形式... 3.关于分割符的相关知识...................... 4.file简单Api介绍................................... 1.再说File的时候就不得不先说一下创建文件和目录的三个方法. <1>createNewFile()必须有已经创建好的路径,才能创建一个文件.返回值:如果指定的文件不存在并成功地创建,则返回 true:如果指

java堆栈相关知识

Java栈与堆 本博客内容由网上搜集而来,作者加以修改整理而成 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆程序员不能直接地设置栈或堆. 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器.但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性.另外,栈数据可以共 享,详见第3点.堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由

Java复习第三天---集合框架的相关知识

集合框架总览: Collection 接口常用方法 //1.add()向集合中添加数据 c.add(apple01); c.add(apple02); c.add(apple03); c.add(apple04); c.add(apple05); //2.isEmepty()检测当前集合是否为空 boolean empty = c.isEmpty(); System.out.println("is empty:"+empty); //3.size()返回当前集合的长度 int size

JAVA Zero Copy的相关知识

介绍 java 的zero copy多在网络应用程序中使用.Java的libaries在linux和unix中支持zero copy,关键的api是java.nio.channel.FileChannel的transferTo(),transferFrom()方法.我们可以用这两个方法来把bytes直接从调用它的channel传输到另一个writable byte channel,中间不会使data经过应用程序,以便提高数据转移的效率. 传统的数据复制方式及涉及到的上下文切换: 通过网络把一个文

java异常面试常见题目

在Java核心知识的面试中,你总能碰到关于 处理Exception和Error的面试题.Exception处理是Java应用开发中一个非常重要的方面,也是编写强健而稳定的Java程序的关键,这自然使它成为面试题中的常客.关于Java中Error和Exception的面试题目多是关于Exception和Error的概念,如何处理Exception,以及 处理Exception时需要遵守的最佳实践等等.尽管关于多线程.垃圾回收.JVM概念和面向对象设计等方面的问题依然主宰着这类面试,你仍然需要为回答