Java异常的一个小知识
有以下两个代码:
package com.lk.A;
public class Test3 {
public static void main(String[] args) {
try {
int a = args.length;
int b = 42/a;
int c[] = {42};
c[42] = 42;
System.out.println("b="+b);
} catch (ArithmeticException e) {
// TODO: handle exception
System.out.println("除0异常:"+e);
} catch(ArrayIndexOutOfBoundsException e){
System.out.println("数组越界异常:"+e);
}
}
}
和
package com.lk.A;
public class Test4 {
public static void main(String[] args) {
try {
procedure();
int a = 1;
int b = 42/a;
System.out.println("b="+b);
} catch (ArithmeticException e) {
// TODO: handle exception
System.out.println("除0异常:"+e);
}
}
private static void procedure() {
// TODO Auto-generated method stub
try {
int c[] = {42};
c[42] = 42;
} catch (ArrayIndexOutOfBoundsException e) {
// TODO: handle exception
System.out.println("数组越界异常:"+e);
}
}
}
这个运行的结果不尽相同。
第一个运行到错误的地方就要中断了,不能再继续。因为在Java中在一个try字句中如果程序发生异常则不会继续向下执行。
而第二个程序不同的是,有一个try块在方法里,如果这个方法里的try对异常进行了处理,则后面的代码是可以执行的。
附上一个小知识:
问:Java程序中发生的异常必须进行处理吗?
答:Java异常处理不是必须或者不必须的问题,而是一种程序逻辑的问题。
如果程序在某种条件下执行正常,则程序继续进行,无须处理异常。如果发生了异常,比如数据库连接不上、文件没有找到等,则说明某种条件发生了,这就需要你对这种条件进行处理。
Java异常的一个小知识的更多相关文章
- java异常的一些小知识
异常,我们软件都需要面对的一个问题.如何让你的软件更加健壮呢?这是一个值得我们考虑的问题.这里主要为大家介绍一下异常是什么,异常是如何产生的,如何将异常抛出,如何捕获异常,对于异常应该如何处理的个人一 ...
- 从最小角回归(LARS)中学到的一个小知识(很短)
[转载请注明出处]http://www.cnblogs.com/mashiqi (居然有朋友说内容不接地气,那么我就再加一段嘛,请喜欢读笑话的同学直接看第二段)假设这里有一组向量$\left\{ x_ ...
- 学习笔记:Java的一些基础小知识之JVM与GC
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...
- Java的一些基础小知识之JVM与GC (转)
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...
- 【java】:通用小知识
1.将String字符串放在最前面 为了防止偶发性的NullPointerException 异常,我们通常将String放置在equals()函数的左边来实现字符串比较,如下代码: // Bad i ...
- 关于.Net和Java的看法-一个小实习生经历
目录 背景 带着疑惑 生活中的迷茫 开始实训 实习 再看java 总结 背景 笔者是一个专科院校的一名普通学生,目前就职于某三线城市的WEB方面.Net开发实习生,在找实习期间和就业期间的一些看法,发 ...
- java中方法传值小知识解析
1.java语言参数之间只有值传递,包括按值调用和按引用调用. 一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值. 按值调用:包括八大基本数据类型都是按值调用.传值的时候,也 ...
- 下载eclipse 配置eclipse 新建Java项目 写一个小程序 运行
为了更好的学习java,我打算下载个eclipse 地址:https://www.eclipse.org/downloads/packages/ 我们需要下载的版本是Eclipse IDE for J ...
- 关于 JavaScript 字符串的一个小知识
说起字符串,我们再熟悉不过了.接触编程的第一个经典任务就是输出字符串:Hello, world.但是你知道 JavaScript 字符串在计算机里是怎么表示的吗? 最简单直观但不太准确的的理解就是,字 ...
随机推荐
- 了解 JavaScript 中的内置对象
所有编程语言都具有内部(或内置的)对象来创建 语言的基本功能.内部对象是 您编写自定义代码所用语言的基础, 该代码基于您的想象实现自定义功能.JavaScript 有许多 将其定义为语言的内部对象.本 ...
- oracle关键字使用
v_Describe:=substr(v_Describe,0,length(v_Describe)-1); substr(目标内容,开始位置,截取长度) length(要计算的内容长度) 上述语句可 ...
- HDU 5443 The Water Problem (水题,暴力)
题意:给定 n 个数,然后有 q 个询问,问你每个区间的最大值. 析:数据很小,直接暴力即可,不会超时,也可以用RMQ算法. 代码如下: #include <cstdio> #includ ...
- RecyclerView 下拉刷新上拉加载
步骤: 首先直接定义一个XRecyclerView继承RecyclerView,重写他的三个构造方法. init(Context mContext)方法用来初始化底部加载的view 回到XRecycl ...
- android 照相或从相册获取图片并裁剪
照相或从相册获取图片并裁剪 在android应用中很多时候都要获取图片(例如获取用户的头像)就需要从用户手机上获取图片.可以直接照,也可以从用户SD卡上获取图片,但获取到的图片未必能达到要求.所以要对 ...
- 网页打印时设置A4大小
最近开发项目时遇到了网页打印的问题,这是问题之二,打印宽度设置 在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标. 经过我仔细的测试,发现了网页打印中,默认采用 ...
- C++的辅助工具介绍 [转]
C++的辅助工具介绍 1 文档类 (1) Doxygen 参考站点:http://www.doxygen.org Doxygen是一种适合C风格语言(如C++.C.IDL.Java甚至包括C#和 ...
- extjs表格下的分页条——Ext.grid.Panel 的 pagingtoolbar
两种分页条:每页固定条数的分页条 和 自定义选择每页内容条数的分页条 一.每页固定条数的分页条 这种样式的-- dockedItems: [{ xtype: 'pagingtoolbar', stor ...
- 今天做php经典实例,发现,我是对的,面试官给我说错了
那是七月中下旬在乐元素公司面试,问了我问什么 $str = "Hellow {$res} world";这么写,我回答说 在字符串中插入复杂变量可以用花括号干起来把? 他告诉我 应 ...
- oracle中substr函数的用法
1.substr(string string, int a, int b) 参数1:string 要处理的字符串 参数2:a 截取字符串的开始位置(起始位置是0) 参数3:b 截取的字符串的长度(而不 ...