`
langgufu
  • 浏览: 2291076 次
  • 性别: 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异常(获取键盘录入判断字符串)处理基础题

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

    java基础项目shop

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

    张孝祥Java就业培训教程.pdf

    第2章 Java编程基础 2.1 Java基本语法格式 2.2 变量及变量的作用域 2.3 函数与函数的重载 2.4 Java中的运算符 2.5 程序的流程控制 2.6 数组 第3章 面向对象(上) 3.1 面向对象的概念 3.2 类与对象 3.3 构造函数 3.4 ...

    java面试800题

    如果事先知道某种东西会成为基础类, 那么第一个选择就是把它变成一个接口。 只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。" Q0040 Java关键字 "51个:abstract, boolean, break, byte, case, ...

    MLDN魔乐所有javaSE的pdf文档

    MLDN魔乐所有javaSE的pdf文档,文档编号是从5开始的,因为前面讲的是Oracle的东西没有上传。 文件目录: 5.Java基础.pdf 6.面向对象基础(1).pdf 7.面向对象基础(2).pdf 8.面向对象基础(3).pdf 9.面向对象高级(1).pdf...

    java视频教程Day01 免费

    以上教学过程中贯穿一个银行项目,根据每天所学的东西不断完善 J2EE部分 14. JDBC Overview and Using JDBC (JDBC概述及使用) 15. JDBC 2.0 core features (JDBC 2.0核心) 16. JDBC 2.0 standard extension ...

    Java经典入门教程pdf完整版

    括了Java运行坏境,一系刎Java开发工具和Java基础的类库。目前主流的JDK是Sun公 同发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JD,例如IBM公司开 发的JD,BA公司的 Jrocket,还有GN组织丌发的JDK等等。 ...

    java代码规范

    不要沉迷表面的得失,看似无用的东西要经过慢慢的累积由量变达到质变的时候,你才能感受到其价值所在。 最后提醒一句,制定一个符合自己公司情况的开发规范是很简单的,重要的是我们能够认识到规范的重要性,并...

    Java容器类型使用总结

    近抽空把java.lang下面常用的那些容器类型(数据结构)复习了一下,这些东西是基础,平时使用的时候也可以很容易查得到,有些方法大概知道,但是总是弄混,如果可以记住那些重要方法,并且能够熟练使用的话,还是...

    jdbc基础和参考

    从Jdk6.0以后要求,JDBC 4.0 Drivers 必须包括 META-INF/services/java.sql.Driver 文件,有了这个文件以后不需要在显示的使用Class.forName来进行驱动的注册 Oracle数据库进行连接的时候,使用的驱动类: 1....

    Kotlin基础学习之循环和异常

    如果你的Java基础扎实,看看Kotlin的开发文档,写写Demo,分分钟就上手了。 说到这个Kotlin提升写代码效率,还是谈谈几个最直观简单的例子吧:  1.不用再去 findViewById 或者 @BindView,拿到控件id直接用  2....

    完美世界大数据笔试.pdf

    ⾸先说⼀下体验,与其说是⼤数据笔试不如说是java笔试,全是java基础的内容,就是⼋股⽂的那些东西,体验感极差,任何跟数据 相关的⼏乎没有在题⽬中体现出来。 2. JVM运⾏时的各部分的状态 1. 设计模式,还要通过...

    【干货】长达4万字的Java知识点!

    Java的基础信息了解2-Java的变量知识3-成员变量与局部变量4-Java的运算符以及判断语句5-循环语句6-数组的使用7-重点:冒泡排序、选择排序、快速排序8-方法、类、对象9-继承和多态10-抽象类11-接口12-异常以及异常...

    第7章-大数据分析与挖掘技术---大数据基础.pptx

    (5)偏差分析:偏差分析是指关注数据库中的异常点,因为对管理者来说,这些异常点往往是更需要给予关注的。 数据挖掘也称为知识发现,是目前数据科学领域的热点研究课题。数据挖掘,就是从海量数据中发现隐含的、...

    Android代码-如何构建一个健壮的安卓应用

    >基础规范部分主要讨论命名规范和代码规范, 规范这种东西虽然消灭了每个团队成员的个性, 但却大大提高了整个团队的协作能力, 让每个人都能轻松接手 别人的工作。 代码设计 >代码设计从Java编程的角度来讨论如何构建...

    C语言的那些小秘密之异常处理

    很多读者在此之前可能根本没有使用或者听说过C语言的异常处理,印象中都是C++或者java才有的东西,C语言怎么会有异常处理呢?

    struts入门[文字版][中文].

    本书为入门者准备的,其中讲述了Struts的一些基础东西。请读者首先能建立一个Struts的开发环境,其次了解Struts基础的东西,由MVC的概念进入Struts。 目录 前言 简介 第一章 配置环境 第二章 HelloWorld你的第一个...

Global site tag (gtag.js) - Google Analytics