Java的异常处理机制(下)

异常,是在执行函数时出错导致的,而函数是层层嵌套的层级调用,形成调用栈。因此,多层嵌套函数中一个出现错误,其余的也都会出错不能执行。当这些函数全部输出异常信息时就形成异常追踪栈。

最开始发生异常的代码处,叫做,异常抛出点。而因为一个函数异常而发生的其余的异常,一直追溯到调用栈栈底。这样的行为,叫做,异常的冒泡。

异常处理try-catch-finally的基本语法,需要注意的有以下几点:

1.try、catch、finally中各自的局部变量只能是在局部使用,彼此不可以互用。

2.每一个catch块用来处理一个异常,运行顺序是从上到下进行匹配。如果同一个try中的catch块之间存在父子关系,应该将放在上边,父类放后边。

throws函数声明,如果一个方法内部的代码执行时抛出检查异常(checked exception),而方法没有完全处理掉这个异常,那么javsc就要求必须在方法名后边写上throws关键字来处理,否则编译不通过。

throws只是抛出异常的类型而不具体处理,抛出异常让调用者来处理。

finally块:不管是否有异常,只要对应的try执行了,他都会执行。在编程中,要养成一个好习惯,即,在try中打开资源,在finally中关闭资源。在finally中只写清理资源的语句最合适,不要在这里面处理任何问题。而返回return语句,最好都写在函数的最后面,不要写在try-catch-finally中。

好了,我对异常的理解,至今就是这样了,以后会懂得更多的,经验都是慢慢积累的,加油吧

原文地址:https://www.cnblogs.com/qimox1314/p/8951717.html

时间: 2024-10-17 04:03:34

Java的异常处理机制(下)的相关文章

Java之异常处理机制

来源:深入理解java异常处理机制 2.Java异常    异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常.因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件.当条件生成时,错误将引发异常. Java异常类层次结构图: 图1 Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先 Th

深入理解java的异常处理机制

 JAVA异常的概念    异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常.因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件.当条件生成时,错误将引发异常. Java异常类层次结构图: 图1 Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Thr

java的异常处理机制(try…catch…finally)

1 引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话.不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案.也不许执行代码看真正答案哦.如果你的答案是正确,那么这篇文章你就不用浪费时间看啦.public class TestException{    public TestException()    {    }    boolean

6.2-全栈Java笔记:异常处理机制的分类

异常分类 JDK 中定义了很多异常类,这些类对应了各种各样可能出现的异常事件,所有异常对象都是派生于Throwable类的一个实例.如果内置的异常类不能够满足需要,还可以创建自己的异常类. 图1 异常的分类  Error Error类层次描述了Java运行时系统内部错误和资源耗尽错误.这类错误是我们无法控制的,同时也是非常罕见的错误.所以在编程中,不去处理这类错误. Error表明系统JVM已经处于不可恢复的崩溃状态中.我们不需要管他. 图2 java.lang包中Error的类 Error与E

6.1-全栈Java笔记:异常处理机制的概念

异常问题 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等.我们的程序再跑着,内存或硬盘可能满了等等. 软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外.这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理,安全的退出,而不至于程序崩溃. 如果我们要拷贝一个文件,在没有异常机制的情况下,我

java——关于异常处理机制的简单原理和应用

异常处理机制的简单原理和应用 一.Execption可以分为java标准定义的异常和程序员自定义异常2种 (1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查. 例如 int i = 2 / 0 或者 String str = null;str.length(); (2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常. 例如 Exceptio

java——关于异常处理机制的简单原理和应用2(转)

Java中的异常 Exception java.lang.Exception类是Java中所有异常的直接或间接父类.即Exception类是所有异常的根类. 比如程序: public class ExceptionTest { public static void main(String[] args) { int a = 3; int b = 0; int c = a / b; System.out.println(c); } } 编译通过,执行时结果: Exception in thread

java的异常处理机制

至少在我的现有学习阶段,对于异常,在实际的项目中是没有怎么用到,包括php的一些项目,同样也是没有用到,可能从某一方面讲,我的代码写的还是不太成熟.但是,我还是绝得,在学习的初级阶段还是应该以功能为主,其次再去考虑代码的严谨性. 异常的处理机制就是获取异常,处理异常和抛出异常这三个方面. package yichang; import java.beans.Expression; import java.io.*; import java.net.*; public class yichang_

java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法

package com.swift; public class Exception_TestC { public static void main(String[] args) { /* * 第5题: 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个 * 方法a,请在这个方法中调用b,然后抛出异常.在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕 捉异常的信息.Java异常的处理机制 * * 如果try或cat