`
java-mans
  • 浏览: 11672485 次
文章分类
社区版块
存档分类
最新评论

Oracle培训(十二)——Core Java第十二章知识点总结——异常处理

 
阅读更多

Core Java第十二章知识点总结——异常处理


知识点预览

异常的概念

异常处理的概念

Java中异常的分类

Java中常见未检查异常

throw关键字

异常的传递

异常处理的方式(throws try…catch)

异常信息

方法覆盖中的异常

自定义异常


异常处理的概念

1. 异常的概念

一个软件正常运行时发生的意外情况

2. 异常处理

当发生异常时,采取补救措施,减少用户损失。


Java中的异常与异常分类


Exception的子类

1.非检查异常

RuntimeException的子类,可以避免,不需要必须处理

2. 检查异常

不可避免,必须进行异常处理,要不编译器报错


常见未检查异常


1.ArithmeticException


2.ArrayIndexOutOfBoundsException 数组下标越界异常


3. NullPointerException 空指针异常


4.ClassCastException类型转换异常

检查异常

Class.forName(“com.mysql.jdbc.Driver”);

throw关键字

1. throw关键字

产生异常(抛出异常)

2. throw异常对象

thrownew NullPointerException();

产生异常后以后的代码不会执行

异常的传递

沿方法调用链反向传递

main()

m1()

m2() throw newNullPointerException();

package chp12.ex07;

/**
 * 
 * @Author: Wentasy
 * @FullName: TestException.java
 * @Description: 异常的传递:沿方法调用反向传递
 * 打印结果: main 1
		   m1 1 
           m2 1
 * @Create Date: 2012-8-16
 */
public class TestException {
  public static void main(String args[]){
	  System.out.println("main 1");
	  m1();
	  System.out.println("main 2");
  }
  public static void m1(){
	  System.out.println("m1 1 ");
	  m2();
	  System.out.println("m1 2");
  }
  public static void m2(){
	  System.out.println("m2 1");
	  throw new NullPointerException();
	  //System.out.println("m2 2");//Unreachable code
  }
  
}

异常处理的方式

1.异常处理的第一种方式

a) throws声明处理异常

eg:餐馆退菜(往上推卸责任)

b) throws后面可以声明多个异常

c) throws 可以应用父类异常代替子类异常


2.异常处理的第二种方式

a) try…catch处理异常

try{

代码1

代码2

// FileNotFoundException 所捕获的异常的类型

}catch(FileNotFoundExceptione){

//异常处理的代码

}

b) 捕获:catch块的顺序

c)catch块的异常:由小往大

d)try…catch…finally异常处理方式

finally中的内容肯定执行

主要用于释放资源

方法覆盖中的异常


子类的覆盖方法不能比父类的被覆盖方法抛出更多的异常



拓展:方法覆盖的要求


package chp12.ex17;

import java.io.IOException;

/**
 * 
 * @Author: Wentasy
 * @FullName: TestSuper.java
 * @Description: 子类的覆盖方法不能比父类的被覆盖方法抛出更多的异常
 * @Create Date: 2012-8-16
 */
class Super{
	public void m1() throws Exception{
		
	}
}

/*
class Sub extends Super{
	public void m1() throws Exception{
		
	}
}
class Sub extends Super{
	public void m1(){
		
	}
}

*/

class Sub extends Super{
	@Override
	public void m1() throws IOException{
		
	}
}

public class TestSuper {

}


message属性与异常追踪

1. Exception/printStackTrace();

2. Exception类中定义了一个message属性可以用于存储异常消息,还提供了构造方法。

自定义异常


1. extends Exception检测异常:当产生时需要异常处理

package chp12.ex20;

/**
 * 
 * @Author: Wentasy
 * @FullName: TestException.java
 * @Description: 自定义异常 extends Exception
 * @Create Date: 2012-8-16
 */
class MyException extends Exception{
	public MyException(){
		
	}
	public MyException(String message){
		super(message);
	}
}


public class TestException {
  public static void main(String args[]){
	  
  }
  public static void m1() throws MyException{
	  throw new MyException();
  }
  
}

2. extends RuntimeException 不需要强制处理

package chp12.ex21;

/**
 * 
 * @Author: Wentasy
 * @FullName: TestException.java
 * @Description: 自定义异常:extends RuntimeException
 * @Create Date: 2012-8-16
 */
class MyException extends RuntimeException{
	public MyException(){
		
	}
	public MyException(String message){
		super(message);
	}
}

public class TestException {
   public static void main(String args[]){
	 
   }
   
   public static void m1(){
	   throw new MyException();//可以不用处理 因为是非检查型异常
   }
}

分享到:
评论

相关推荐

    oracle内部培训资料——游标

    ### Oracle内部培训资料——游标知识点详解 #### 一、游标概述 游标是Oracle数据库中用于处理SQL查询返回的多行记录的一种机制。它允许用户逐行地访问查询结果,这对于处理不确定数量的数据非常有用。游标分为两种...

    oracle系统培训课件——资料包(7个ppt).rar

    这个“Oracle系统培训课件——资料包(7个ppt)”压缩文件包含了一系列PPT教程,旨在帮助学习者深入理解Oracle系统的各个方面。下面我们将详细探讨这些课件可能涵盖的关键知识点。 1. **Oracle概述**: - Oracle...

    Oracle课程设计——学生信息系统

    Oracle 课程设计——学生信息系统 Oracle 课程设计——学生信息系统是苏州职业大学计算机工程系课程设计的主要内容,旨在设计一个学生信息系统,该系统使用 Oracle 数据库管理系统,旨在实现学生信息的存储、管理和...

    Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案

    原书名:Oracle 9i Java Programming <br>Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案 <br>【原出版社】 Wrox Press 【作 者】Bjarki Holm,John Carnell等 【译 者】 康博 【丛 ...

    Oracle SOA 套件——Oracle BPEL 流程管理器

    ### Oracle SOA 套件——Oracle BPEL 流程管理器 #### 执行概况与背景 在当今快速变化的市场环境下,企业面临着前所未有的挑战:市场动态变化迅速、竞争压力持续增大以及客户需求多样化。这些因素共同作用,对企业...

    Oracle工作总结——日志文件切换频率的调整.doc

    Oracle工作总结——日志文件切换频率的调整.doc

    Oracle工作总结——日志文件切换频率的调整

    Oracle数据库的日志文件切换频率是数据库管理中的一个重要参数,它直接影响到系统的性能和稳定性。当日志文件频繁切换,可能表明数据库活动剧烈,这可能导致I/O瓶颈,影响系统响应时间。相反,如果切换频率过低,...

    Oracle数据库管理员培训教材——10g版本

    以上是Oracle数据库管理员培训教材——10g版本中所涉及到的核心知识点,包括版本选择、平台选择、管理工具选择、SQL语句的学习与实践、备份的重要性、体系结构知识、学习衡量标准、图形界面的使用、安装过程的挑战、...

    Oracle 数据库系统——基础与工具.pdf

    Oracle 数据库系统——基础与工具.pdf

    oracle 数据库系统——管理与应用

    "Oracle 数据库系统——管理与应用"涵盖了从基础理论到实践操作的广泛知识,旨在帮助用户深入理解Oracle数据库的管理与应用。 首先,Oracle数据库系统的基础包括SQL(结构化查询语言)的使用,这是与数据库交互的...

    oracle 在java中的事务处理和异常回滚。

    Java提供了`try-catch-finally`结构来捕获和处理异常。在上面的示例中,我们使用了`SQLException`来捕获数据库相关的错误。`finally`块可以用来确保即使在发生异常的情况下,也能正确关闭数据库连接。 Oracle数据库...

    java连接oracle数据库———sqlHelper类

    在Java编程中,连接Oracle数据库是一项常见的任务,用于执行SQL查询、更新和其他数据库操作。`sqlHelper`类是一个自定义的工具类,旨在简化这个过程,提供一个方便、高效的接口来处理数据库交互。本篇文章将深入探讨...

    Oracle经典教程1——走进Oracle

    ### Oracle经典教程1——走进Oracle #### Oracle简介 Oracle是一种基于对象的关系型数据库管理系统,它由美国甲骨文公司开发并维护。Oracle数据库系统因其高度可靠性和强大的数据处理能力而闻名,广泛应用于各种...

    oracle系统培训课件——资料包(7个ppt)

    这个“Oracle系统培训课件——资料包(7个ppt)”提供了全面了解Oracle系统的宝贵资源,旨在帮助学习者掌握Oracle的基础知识、进阶技能以及实际操作经验。以下是对每个PPT可能涵盖的关键知识点的详细解读: 1. **...

    oracle 11g——4

    从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用开发基础,并通过两个完整案例来介绍基于Java开发包和Oracle数据库...

    Oracle缓存连接——Timesten体系结构 .docx

    Oracle缓存连接——Timesten体系结构是一种优化数据库性能的技术,它通过在内存中缓存Oracle数据库的部分或全部数据来加速查询和事务处理。Timesten是Oracle公司提供的一款高性能的内存数据库,专为实时应用设计,能...

    java操作Oracle数据库——ARRAY、TABLE类型批量入库

    在实际应用中,你可能还需要处理异常、事务管理等细节。另外,如果你使用的是Spring框架,可以利用JdbcTemplate或NamedParameterJdbcTemplate简化数据库操作。 总之,通过Java操作Oracle的ARRAY和TABLE类型,我们...

    Oracle10g 培训——基础知识

    Oracle 10g 是一款广泛使用的数据库管理系统,其基础知识对于初学者来说至关重要。本文将深入讲解Oracle 10g的一些核心概念和功能,包括新特性、数据库架构、实例的启动与关闭、监听与服务配置、用户与权限管理,...

Global site tag (gtag.js) - Google Analytics