在java中异常中的题目---重要的一点
public classTest {
public static void main(String[] args) {
System.out.println(newTest().test());
}
staticint test()
{
int x = 1;
try
{
x++;
return x;
}
finally
{
++x;
}
}
}
在try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
解析:答案是二
这道题是在try中进行运算结果是二,因为有一个return,所以当结果进行到rueurn的时候,return就会特别霸道的在自己的地盘上开辟一个空间用来存储这个数值,此时运算并不是已经结束了
下面会在finally中再次进行运算,答案是三,但是这个答案并不是最后的运算结果,因为下一步就会再次返回到finally中进行最后的结果取值,所以当我们最后看到的的结果是二.
关键字 final finally finalize 的区别
final: 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承.
内部类访问局部变量,局部变量必须定义成final类型
finally:是异常处理的语句结构的一部分,表示总是执行
finalize 是object类的一个方法,在垃圾收集器执行的时候会被调用被收回对象的对此方法,可以覆盖此方法提供垃圾收集时的其他资源回收
例如:关闭文件等
运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见的错误,java编译器要求方法必须声明抛出可能发生的非运行时异常,但并不是要求必须声明抛出未被捕获的运行时异常
error 和 ecception 有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题,比如内存溢出,不可能指望程序能处理这样的情况
exception 表示一种设计或者实现问题.也就是说,他表示如果程序运行正常,从不会发生的情况
throws 和 throw 的区别?
throws 声明异常:
在java语言中,我们可以抛出关键字 throws 声明某个方法,可能抛出的异常,throws是可以同时声明多个异常,之间用","隔开
throw 抛出异常:
在java语言中,我们可以使用关键字throw 来自行抛出某个异常,
原因:在当前环境中无法解决的参数问题,因此在方法内通过throw抛出异常,把问题交给调用者去解决
在java中异常中的题目---重要的一点的更多相关文章
- Java面试题整理:这些Java程序员面试中经常遇见的题目,必须掌握才能有好结果
1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时 ...
- Java异常(三) 《Java Puzzles》中关于异常的几个谜题
概要 本章介绍<Java Puzzles>中关于异常的几个谜题.这一章都是以代码为例,相比上一章看起来更有意思.内容包括:谜题1: 优柔寡断谜题2: 极端不可思议谜题3: 不受欢迎的宾客谜 ...
- 《java中异常和错误》
异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...
- Java基础知识强化24:Java中异常
1.什么是异常 ? Java程序运行中,常常会遇到非正常的现象,这种情况称为运行错误.根据性质可以分为错误和异常.Java程序中(无论谁写的代码),所有抛出(throw)的异常都必须从Th ...
- 关于java多线程中异常捕获的理解
在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked e ...
- JAVA中异常状况总结
之前在<会当凌绝顶>这本书中学到过对于异常处理的知识,当时也是根据书上的代码,自己进行编写大概知道是怎么回事儿,王老师给我们上了一节课之后,发现异常处理可以发挥很大的作用. 通过在网络上 ...
- java中异常介绍
一.异常概述 异常处理已经成为衡量一门语言是否成熟的标准之一,目前的主流编程语言如C++.C#.Ruby.Python等,大都提供了异常处理机制.增加了异常处理机制后的程序有更好的容错性,更加健壮. ...
- java常见异常(更新中)
Java的异常分为两种,一种是运行时异常(RuntimeException),一种是非运行异常也叫检查式异常(CheckedException) .NullPointerException 空指针异常 ...
- 关于java中异常机制
什么是异常:异常就是程序在运行时出现的不正常情况.对于严重的情况Java通过Error类进行描述,一般不用编写代码处理:对于不严重的情况Java通过Exception描述,一般编写针对性代码对其进行处 ...
随机推荐
- CentOS下更改yum源
centos下下载工具为yum,对应的源在/etc/yum.repos.d/CentOS-Base.repo文件下,修改其URI中前面的网络地址即可
- 【转】Everything you need to know about NoSQL databases
原文: https://dev.to/lmolivera/everything-you-need-to-know-about-nosql-databases-3o3h ---------------- ...
- anguar @input绑定的属性变化
Intercept @Input property change in Angular Bharat TiwariFollow Mar 15, 2018 this post is good for A ...
- luogu3651 展翅翱翔之时 (はばたきのとき)[基环树+贪心]
考前随便做点水题愉♂悦身心 有助于退役 这题意思其实就是说要把外向基环树森林改成一个环的最小代价. 依照套路,先对每棵基环树的树做dp,这里因为要是环,要把所有的树都拆成链,然后连接.所以考虑以最小代 ...
- Windows下安装配置Apache+PHP+Mysql环境
1.下载相关安装包 Apache下载: http://archive.apache.org/dist/httpd/binaries/win32/ ,选择httpd-2.2.25-win32-x86-n ...
- nodejs解析url参数的三种方法
要解析的url:http://127.0.0.1:8090/?name=cpc&age=21 利用js字符串操作函数进行解析 const myserver = require("ht ...
- [2019牛客多校第二场][G. Polygons]
题目链接:https://ac.nowcoder.com/acm/contest/882/G 题目大意:有\(n\)条直线将平面分成若干个区域,要求处理\(m\)次询问:求第\(q\)大的区域面积.保 ...
- [Algorithm] Max Chars Problem
// --- Directions // Given a string, return the character that is most // commonly used in the strin ...
- 题解 [SDOI2010] 大陆争霸
题面 解析 这题似乎不是那么难啊 首先,显而易见, 如果要摧毁一个城市,必须要满足两个条件: 机器人摧毁了保护它的城市. 机器人到达了这个城市. 而这两个条件可以同时进行(毕竟有无数机器人) 那么显然 ...
- 【Android-ListView控件】显示信息
效果图 布局文件 layout - activity_main.xml 在主布局添加一个listview控件 <?xml version="1.0" encoding=&qu ...