完成这个例子,说出java中针对异常的处理机制。

有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。完成这个例子,请说出java中针对异常的处理机制。

[java] view plaincopy

  1. package com.itheima;
  2. import java.io.IOException;
  3. /**
  4. *第6题:有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,
  5. *此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。
  6. *在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。
  7. *完成这个例子,请说出java中针对异常的处理机制。
  8. *
  9. *java中的异常分为“运行时异常”和“编译时异常”
  10. *运行时异常:是程序在运行的过程中所产生的异常,这个不是必须处理,是我们需要修正的
  11. *编译时异常:是程序在编译的过程中所产生的异常,这个我们必须处理
  12. *在java程序中,异常处理机制有两种,一种是“抛出异常”,一种是“捕获异常”,一种是“默认出来”
  13. *默认处理,他会把异常的名称,原因,位置等信息输出在控制台,但程序不会继续执行了
  14. *抛出异常:使用的关键字throws throw
  15. *  throws 用于在声明方法时抛出异常,只能是一个异常
  16. *  throw  用于抛出一个实际的异常,抛出一个具体异常对象,可以是多个异常。
  17. *捕获异常:try....catch...finally
  18. *  try{代码块}
  19. *      中间包含的代码块是可能出现异常的代码。
  20. *  catch{代码块}
  21. *      这个代码块是用来处理异常的代码
  22. *  finally{代码块}
  23. *      这个是异常处理后所需要执行的代码块。这个里面的代码块他总是会被执行,用于释放资源
  24. *注意:try不能单独使用,必须和catch或者finally两个中的一个一起使用
  25. */
  26. public class Test6 {
  27. public static void main(String[] args) throws Exception {
  28. //  创建tc对象
  29. TestC tc = new TestC();
  30. //  使用tc调用c方法,运行这个类
  31. tc.c();
  32. //  A a = new A();
  33. //  a.a();
  34. }
  35. }
  36. //A类
  37. class A{
  38. //  创建一个a方法,在a方法中创建b对象,通过b对象调用b方法,因为b对象抛出了异常,所以在a方法中也要抛出异常
  39. public void a() throws Exception{
  40. B b = new B();
  41. b.b();
  42. }
  43. }
  44. //B类
  45. class B  {
  46. //  创建一个b方法,并抛出异常
  47. public void b() throws Exception{
  48. System.out.println("我是B类中的b方法,我抛出异常!");
  49. }
  50. }
  51. //客户端类
  52. class TestC{
  53. public void c() {
  54. //      创建一个A对象
  55. A a = new A();
  56. //      调用A对象中的a方法,此时因为A方法中抛出了异常,所以这了必须处理,使用try...catch处理
  57. try {
  58. a.a();
  59. } catch (Exception e) {
  60. // TODO Auto-generated catch block
  61. System.out.println("我是捕获异常方法,"+e.toString());
  62. }
  63. }
  64. }
时间: 2024-08-13 20:20:49

完成这个例子,说出java中针对异常的处理机制。的相关文章

Java中针对 ArrayList和LinkedList 的区别

一般大家都知道ArrayList和LinkedList的大致区别:      1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针.      3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据. ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用

Java中的异常和处理详解

原文出处:代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?. Java提供了更加优秀的解决办法:异常处理机制. 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰. Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手

java中的“异常”

异常:Java运行期间发生的问题就是异常,另外,Java中运行时发生的除了异常Exception还有错误Error. 异常:可以有针对性的处理方式:错误:通常发生后不会有针对性的处理方式,往往是系统级别的问题,无法针对处理,只能修正代码. 举个例子:对给定的数组同过给定的交表获取元素, class Demo { /* 对给定的数组通过给定的角标获取元素. */ int getElement(int[] arr,int index) { /* 它所提供的信息不够给力.想要更清晰,需要自己写. 它的

Java 中的异常和处理详解

原文出处: 代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?. Java提供了更加优秀的解决办法:异常处理机制. 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰. Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句

夯实Java基础系列10:深入理解Java中的异常体系

目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调用链 自定义异常 异常的注意事项 当finally遇上return JAVA异常常见面试题 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 - Java异常 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.c

Java中处理异常的9个最佳实践

Java中处理异常的9个最佳实践Java中的异常处理不是一个简单的话题.初学者很难理解,甚至有经验的开发人员也会花几个小时来讨论应该如何抛出或处理这些异常. 这就是为什么大多数开发团队都有自己的异常处理的规则和方法.如果你是一个团队的新手,你可能会惊讶于这些方法与你之前使用过的那些方法有多么不同. 然而,有几种异常处理的最佳方法被大多数开发团队所使用.下面是帮助改进异常处理的9个最重要的方法. 在Finally中清理资源或者使用Try-With-Resource语句通常情况下,你在try中使用了

JAVA中的异常(异常处理流程、异常处理的缺陷)

异常处理流程 1)首先由try{...}catch(Exception e){ System.out.println(e); e.printStackTrace(); }finally{...}结构 2)当JVM遇到异常时,会产生一个Exception对象 或 继承自Exception的子类的对象. 3)将异常对象向上层(调用它的代码块)抛出,知道碰到一个catch块(作相应处理) 或 一直抛到了最外层(导致程序异常终止).(并停止异常之后的代码的执行,但是finally块中的代码还会执行!换句

java中关于异常的处理

初学java的时候,当我们碰到异常时,一般会把异常直接throws抛出去,或则在catch的时候,简单的写一句打印异常信息,但是在实际开发中,是不能这么做的.如果我们将底层的某一个异常简单的print出去,那么这个异常的捕获是没有起到任何作用,反而给编译器一个"异常已处理"的假象,导致有异常的程序会继续往下执行,这是不允许的:如果我们直接将异常抛出去,抛给上一层,也是徒劳的,反而给上一层带来麻烦. 为了避免这样的情况发生,我们一般会将异常进行转换,将编译时异常转变成运行时异常,再thr

Java中的异常-Throwable-Error-Exception-RuntimeExcetpion-throw-throws-try catch

今天在做一个将String转换为Integer的功能时,发现Integer.parseInte()会抛出异常NumberFormatException. 函数Integer.parseInt(String)定义 1 public static int parseInt(String s) 2 throws NumberFormatException 测试代码: 1 public class Test 2 { 3 public static void main(String[] args) 4 {