`
langgufu
  • 浏览: 2307052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 异常必须知道的基础东西(转)

阅读更多

1、什么是异常?描述下异常处理流程?
异常;程序在执行过程中发生的不正常的情况,是描述出错信息的对象,通过异常处理机制可以增加程序的健壮性和可靠性。异常的处理流程;先执行try中的代码,没有异常执行完try后,继续执行try catch后面的代码,有异常发生,那么终止try后面的代码,转而执行catch中的代码,然后执行try catch后面的代码。


2、异常框架的类结构?
首先一个父类Throwable 是所有异常情况的父类,Throwable中有两个子类,一个是Error错误,可捕获不可处理,就像电脑蓝屏。另一个子类是Exccption是异常,可以捕获也可以处理,Exccption下面有很多异常的子类


3、checked异常与unchecked异常的区别是什么?
编译期异常在编译时发生,必须捕获,否则无法通过编译
运行期异常在运行时发生,可捕获也可以不捕获

4、 Error和Exception的区别是什么?

Error是错误,可捕获,但是不可以处理,就像电脑蓝屏
Exception是异常,可以捕获也可以处理,就像电脑中了病毒后可以查杀病毒。

5、异常捕获的流程?如果有异常发生是怎样的流程?
先执行try中的代码,没有异常执行完try后,继续执行try catch后面的代码,有异常发生,那么终止try后面的代码,转而执行catch中的代码,然后执行try catch后面的代码。



6、如果try块中有多种异常,在catch块中如何处理?
如果在try中有多种异常,那么终止try块中的代码,转而执行catch块中的代码,异常发生时会找到catch块中的第一个合适的异常,后面的全部忽略。

7、如果要抛出异常怎么做?
throw new java.lang.NauIpointerExceptin();
}抛出异常


8、throw和throws的区别

throw是语句,表示通过代码方式抛出一个异常
throws是方法的修饰符,表示方法不处理异常,异常由调用方来处理

9、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行?
会,如果在指向中有return跳出方法,那么finally同样执行,在跳出方法欠执行


10、finally的作用是什么?一般在什么时候使用?
无论是否有异常都会执行,一般用于系统资源回收

11、finally是不是什么时候都会执行?
不是,在虚拟机关闭时不会执行,system。exit(0);

12、Try块中是否所有的语句都一定会执行,为什么?
不会,当try中出现异常时,try中出现异常语句后面的语句将不会执行,转而去执行catch中的语句。

13、怎么样判断一个异常类是checked异常还是unchecked异常?

运行期异常有一个共同的父类RuntimeException,如果是RuntimeException的子类,那么就是运行期异常,如果不是就是编译期异常。

 

14.子类override父类的某个方法时,throws声明的异常只能小于等于父类方法,若出现了新异常,则不可throws来声明抛出异常,而是可以在方法中通过try catch来捕获并处理。

 

15,子类构造函数throws异常大于等于父类构造函数。

 

16,检查性异常------程序正确,但因为外在的环境条件不满足引发。例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误)。对商用软件系统,程序开发者必须考虑并处理这个问题。JAVA编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。

运行期异常------这意味着程序存在bug,如数组越界,0被除,入参不满足规范.....这类异常需要更改程序来避免,JAVA编译器不强制要求处理这类异常。

错误------一般很少见,也很难通过程序解决。它可能源于程序的bug,但一般更可能源于环境问题,如内存耗尽。错误在程序中无须处理,而有运行环境处理。

分享到:
评论

相关推荐

    java必须知道的东西

    以下是一些Java必须知道的关键知识点: 1. **面向对象特性**: - **抽象**:抽象是忽略不重要的细节,专注于对象的主要功能。它分为过程抽象(如方法)和数据抽象(如类)。Java中的抽象类和接口是抽象的体现。 -...

    一些与java相关的东西

    在给定的资料中,我们可以看到几个关键的知识点:Java异常处理、IO流、静态块与初始化块以及主方法(main方法)。 首先,让我们详细探讨Java的异常处理。在Java中,异常是程序运行时发生的错误,如除以零或文件未...

    Java基础宝典

    - **特殊知识点**:接下来,作者提到描述一些特殊的东西,比如异常处理机制、多态性、接口和抽象类的区别与应用等。这些内容对于深入理解面向对象编程至关重要,也是面试中经常被提及的重点。 - **锦上添花知识点**...

    java学习路线图以及学习java要学习的东西

    在编程中,错误处理是必不可少的部分,Java的异常处理机制可以帮助我们优雅地处理程序中的异常情况。 然后,掌握集合框架。Java集合框架包括ArrayList、LinkedList、HashMap等数据结构,它们在实际开发中应用广泛。...

    java异常(获取键盘录入判断字符串)处理基础题

    从键盘读入一行信息,根据读入的内容来判定是否发生了异常。如果读入的是空串,则抛出EmptyStringException异常;如果读入的内容中包含有数字,则抛出IncludeNumberException异常。 /*提示:程序中用到String的...

    华电java课件 都是些基础的东西 适合入门学习用的

    6. **异常处理**:Java中的异常处理机制是编程中重要的部分,课件可能会讲解try-catch-finally块的使用以及自定义异常。 7. **输入/输出流**:理解如何进行文件操作,如读取和写入文件,以及使用InputStream和...

    Java语言程序设计基础篇》课后习题答案

    Java语言程序设计基础篇是学习Java编程的入门教程,第8版可能包含了最新的语言特性,如Java 8或更高版本的特性。这份“Java语言程序设计基础篇》课后习题答案”文档对于正在学习Java的初学者来说,无疑是一份宝贵的...

    java基础项目shop

    java基础入门的东西,一点简单的实现。 1.商店中,进货(列出能够进货的食品,选择进货的食品,确定进货的数量),进货结束后,列出进货的食品清单 2.商店中,顾客来购买食品(列出能够购买的食品,顾客选择购买的...

    JAVA讲义 比较基础一级的东西

    Java编程语言是面向对象的、跨平台的编程语言...通过深入学习和实践这些Java基础知识,你可以逐步建立起对Java编程的全面理解,并为进一步学习高级特性和框架打下坚实基础。这份讲义将是你探索Java世界的一个良好起点。

    绝对经典JAVA基础60题

    【描述】:“不是好东西,要学习JAVA的必须学习,否则天打雷劈......”这句话虽然带有调侃意味,但它强调了Java基础的重要性。Java是一种广泛应用于企业级应用、移动开发(尤其是Android)和大数据处理的编程语言,...

    基于Java教你如何半小时搞定python基础

    Python的异常处理使用`try/except`语句,与Java的异常处理机制类似。Python还支持上下文管理器(with statement),用于自动管理资源,例如文件操作,这是Java中try-finally块的一种优化。 Python的单元测试框架是...

    java程序设计 基础篇部分答案

    Java程序设计基础篇是入门Java编程的重要阶段,涵盖了语言的基础语法、数据类型、控制结构、类与对象等核心概念。这份文档集包含了该部分的学习者可能会遇到的问题解答,旨在为初学者提供指导和帮助。 首先,Java是...

    Java是好东西

    Java是一种广泛应用于各种领域的编程语言,被誉为“好东西”是有其充分理由的。它由Sun Microsystems(现为Oracle Corporation的一部分)于1995年推出,设计初衷是为了解决C++在当时面临的复杂性和效率问题。Java的...

    JAVA面试题整理版,挺全的东西

    7. **异常处理**:Java异常处理机制包括try-catch-finally语句块,throw和throws关键字,自定义异常等,用于捕获和处理程序运行时可能出现的问题。 8. **JVM内存管理**:了解JVM的工作原理,包括堆内存、栈内存、...

    java最核心的东西

    - **异常处理**:Java提供了一套完整的异常处理机制,帮助开发者更好地控制程序运行时可能出现的错误。 - **集合框架**:Java的集合框架提供了多种数据结构(如List、Set、Map等),用于存储和操作数据。 - **线程**...

    JAVA基础知识问答大全

    ### JAVA基础知识问答大全 在《JAVA基础知识问答大全》这一文档中,主要涵盖了Java编程语言的基础概念、核心特性和实际应用中的常见问题解答。对于初学者来说,这份资料是一本宝贵的指南,它不仅能够帮助理解Java的...

    java实例,很基础很全面

    描述中的“好东西一起分享”则表明这是一份适合初学者或希望巩固基础知识的开发者的资料。 Java实例通常涵盖以下知识点: 1. **基本语法**:包括变量声明、数据类型(如整型、浮点型、字符型、布尔型)、运算符...

    java超强笔记,Java学习好东西

    7. **异常处理**:Java的异常处理机制使得程序能够优雅地处理错误,通过try-catch-finally语句块来捕获和处理运行时异常。 8. **输入/输出(I/O)**:Java的I/O流系统允许程序读取和写入数据。这涵盖了文件操作、...

    Java实现单词查询程序

    1. **Java语言基础**:Java是一种跨平台的面向对象的编程语言,它具有丰富的类库和强大的功能。在这个项目中,我们利用Java的面向对象特性,如类、对象、封装、继承和多态,设计出高效且易于维护的代码结构。 2. **...

    Java SE基础.docx

    以上内容涵盖了 Java SE 的基础知识点,包括字符串处理、数组操作、面向对象编程、Swing GUI、异常处理、集合框架、输入输出、线程管理、网络通信以及 XML 文件处理等方面。对于初学者来说,这些都是学习 Java 的...

Global site tag (gtag.js) - Google Analytics