有以下两个代码:

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异常的一个小知识的更多相关文章

  1. java异常的一些小知识

    异常,我们软件都需要面对的一个问题.如何让你的软件更加健壮呢?这是一个值得我们考虑的问题.这里主要为大家介绍一下异常是什么,异常是如何产生的,如何将异常抛出,如何捕获异常,对于异常应该如何处理的个人一 ...

  2. 从最小角回归(LARS)中学到的一个小知识(很短)

    [转载请注明出处]http://www.cnblogs.com/mashiqi (居然有朋友说内容不接地气,那么我就再加一段嘛,请喜欢读笑话的同学直接看第二段)假设这里有一组向量$\left\{ x_ ...

  3. 学习笔记:Java的一些基础小知识之JVM与GC

      一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...

  4. Java的一些基础小知识之JVM与GC (转)

    一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...

  5. 【java】:通用小知识

    1.将String字符串放在最前面 为了防止偶发性的NullPointerException 异常,我们通常将String放置在equals()函数的左边来实现字符串比较,如下代码: // Bad i ...

  6. 关于.Net和Java的看法-一个小实习生经历

    目录 背景 带着疑惑 生活中的迷茫 开始实训 实习 再看java 总结 背景 笔者是一个专科院校的一名普通学生,目前就职于某三线城市的WEB方面.Net开发实习生,在找实习期间和就业期间的一些看法,发 ...

  7. java中方法传值小知识解析

    1.java语言参数之间只有值传递,包括按值调用和按引用调用. 一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值. 按值调用:包括八大基本数据类型都是按值调用.传值的时候,也 ...

  8. 下载eclipse 配置eclipse 新建Java项目 写一个小程序 运行

    为了更好的学习java,我打算下载个eclipse 地址:https://www.eclipse.org/downloads/packages/ 我们需要下载的版本是Eclipse IDE for J ...

  9. 关于 JavaScript 字符串的一个小知识

    说起字符串,我们再熟悉不过了.接触编程的第一个经典任务就是输出字符串:Hello, world.但是你知道 JavaScript 字符串在计算机里是怎么表示的吗? 最简单直观但不太准确的的理解就是,字 ...

随机推荐

  1. 移动端页面的head头部内容

  2. Codeforces 161 D. Distance in Tree (树dp)

    题目链接:http://codeforces.com/problemset/problem/161/D 题意: 给你一棵树,问你有多少对点的距离为k. 思路: dp[i][j]表示离i节点距离为j的点 ...

  3. thinkphp利用行为扩展实现监听器

    1.在User/login函数中添加如下代码 tag('login_listener',$result); //alert('success', '恭喜,登录成功', U('xx/yy')); 去掉跳 ...

  4. easyui 表单和自定义验证扩展和js自定义返回值

    ================jsp==========================<form  method="post" id="regfrminp&qu ...

  5. C++STL学习笔记_(3)stack

    10.2.4stack容器 Stack简介 ²  stack是堆栈容器,是一种"先进后出"的容器. ²  stack是简单地装饰deque容器而成为另外的一种容器. ²  #inc ...

  6. sql reiserror 输出错误

    其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable }                    { ,severity ,state }    ...

  7. Js弹出层,弹出框代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 在sphinx中应用复杂过滤条件

    一.问题的引入   在sphinx应用中,需要对数据进行复杂的条件过滤,刷选出我们需要的数据.这个过程,等同于mysql查询中的where条件.   但sphinx本身的filter并不能支持复杂的逻 ...

  9. MariaDB5.5.32 绿色版下载安装一条龙

    1.下载地址: http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/mariadb-5.5.32/win32-packages/mariadb-5.5.32 ...

  10. HttpWebRequest post请求获取webservice void数据信息

    private void button2_Click(object sender, EventArgs e) { Hashtable ht = new Hashtable(); ht["sc ...