Throwable类

  1. toString() 输出该异常的类名。
  2. getMessage() 输出异常的信息,需要通过构造方法传入异常信息(例如病态信息)。
  3. printStackTrace() 打印栈信息。

    class Demo {

    public static void main(String[] args) {

    // Throwable able=new Throwable();

    Throwable able = new Throwable("想吐。。。");

    System.out.println(able.toString()); // 输出该异常的类名

    System.out.println(able.getMessage()); // 输出异常的信息

    able.printStackTrace(); // 打印栈信息

    }

    }

  4. 总结
    1. 程序中有多个语句可能发生异常,可以都放在try语句中。并匹配对个catch语句处理。
    2. 如果异常被catch匹配上,接着执行try{}catch(){} 后的语句。没有匹配上程序停止。
    3. try中多个异常同时出现,只会处理第一条出现异常的一句,剩余的异常不再处理。
    4. 使用多态机制处理异常。
      1. 程序中多态语句出现不同异常,出现了多个catch语句。简化处理(相当于急诊)。
      2. 使用多态,使用这些异常的父类进行接收。(父类引用接收子类对象)

        1.1.1 抛出处理

        定义一个功能,进行除法运算例如(div(int x,int y))如果除数为0,进行处理。

        功能内部不想处理,或者处理不了。就抛出使用throw new Exception("除数不能为0"); 进行抛出。抛出后需要在函数上进行声明,告知调用函数者,我有异常,你需要处理如果函数上不进行throws 声明,编译会报错。例如:未报告的异常 java.lang.Exception;必须对其进行捕捉或声明以便抛出throw  new Exception("除数不能为0");


        public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。

        if (y == 0) {

        throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象

        }

        System.out.println(x / y);

        System.out.println("除法运算");

        }

      3. 5:main方法中调用除法功能

        调用到了一个可能会出现异常的函数,需要进行处理。

        1:如果调用者没有处理会编译失败。

        如何处理声明了异常的函数。

        1:try{}catch(){}


        public static void main(String[] args) {

        try {

        div(2, 0);

        } catch (Exception e) {

        e.printStackTrace();

        }

        System.out.println("over");

        }

        public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。

        if (y == 0) {

        throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象

        }

        System.out.println(x / y);

        System.out.println("除法运算");

        }

        }

时间: 2024-08-28 03:15:36

Throwable类的相关文章

Atitit java的异常exception 结构Throwable类

1.1. Throwable类 2.StackTrace栈轨迹1 1.2. 3.cause因由1 1.3. 4.SuppressedException被屏蔽的异常2 1.4. try-with-resources语句2 1.5. 八.异常说明的继承.2 1.1. Throwable类 2.StackTrace栈轨迹 栈轨迹记录了程序从开始到异常抛出点所调用的方法.通过StackTraceElement[] getStackTrace()可以获得一个StackTraceElement的数组,每个S

Java基础-异常类--异常概念、一般格式、Throwable类的一些方法

简介: 1.异常的概念 异常:问题-->不正常情况--->封装成对象 ; java对不同的不正常情况进行描述后的对象体现; 对于严重的异常,java通过Error类进行描述-------一般不编写针对性的代码对其进行处理 对于非严重可处理的异常的,java通过Exception类进行描述--可使用针对性的代码进行处理 体系: Object<--Throwable<--Error/Exception 2.一般格式 try{ * * } catch(异常类 变量){ * 处理问题* }

Java中的Throwable类是不是受查异常?

Q: Throable是不是受查异常? A: 是 在Java规范中,对非受查异常和受查异常的定义是这样的: The unchecked exception classes are the run-time exception classes and the error classes. The checked exception classes are all exception classes other than the unchecked exception classes. That i

Throwable -抛出异常类与自定义异常类

/* 自定义异常类 java提供的异常类,不够我们使用,需要自己定义一些异常类 格式: public class XXXException extends Exception/runtimeException{ 添加一个空参数的构造方法 添加一个带异常信息的构造方法 } 注: 1.自定义异常类一般是Exception结尾,说明该类是一个异常类 2.必须继承Exception/RuntimeException */ public class RegisterException extends Ex

异常及File类概述

一.异常 1.异常分类: Throwable:Throwable类是 Java 语言中所有错误或异常的超类.它只有两个子类 Error:属于严重问题,只能避免:如内存溢出(OutOfMemory) Exception:可以解决的异常问题 编译时期异常:在写代码期间遇到的异常,不处理没办法运行: 运行时期异常(RuntimeException):在程序运行时期遇到的异常,一般情况不是编译时期异常就是运行时期异常: 2.异常处理: 1)捕获异常:try-catch-finally A:格式:try{

Java学习--异常处理及其应用类

异常是运行时在代码序列中引起的非正常状况,换句话说,异常是运行时错误.在不支持异常处理的计算机语言中,必须手动检查和处理错误----通常是通过使用错误代码,等等.这种方式既笨拙又麻烦.Java的异常处理避免了这些问题,并且在处理过程中采用面向对象的方式管理运行时错误. 1.异常处理的基础概念 Java异常是用来描述在一段代码中发生的异常情况(也就是错误)的对象.当出现引起异常的情况时,就会创建用来表示异常的对象,并在引起错误的方法中抛出异常的对象.方法可以选择自己处理异常,也可以继续传递异常.无

源码分析七(java.lang包之IllegalArgumentException类)

一:IllegalArgumentException非法参数类,这个类继承父类RuntimeException 1 public 2 class IllegalArgumentException extends RuntimeException 重载的几个构造方法都是直接调用父类的构造方法: //无参数构造器,默认构造器 public IllegalArgumentException() { super(); } //参数为字符串String的构造器 public IllegalArgument

异常处理与常用类

异常的三个种类: 检查异常:用户错误操作或者是不能被程序员预见的问题,必须由java语言来处理. 运行时异常:运行时异常是一个可以被程序员避免的异常,比如像数组越界.除数为0.引用为null. 错误:错误不是异常,是程序员或用户无法控制的问题,像调用栈溢出. 异常的控制流程: 异常是一个被方法抛出的对象,可以有三种方式来处理: 1.捕获这个异常 2.捕获异常并向下抛出  3.不捕获让它向调用栈弹出. 我们可以使用Throwable类的printStackTrace()方法打印调用栈跟踪信息. T

Core Java 经典笔试题总结(异常类问题)

所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果是多少?为什么?并由此总结几个编程规范. 1 class smallT { 2 public static void main(String args[]) { 3 smallT t = new smallT(); 4 int b = t.get(); 5 System.out.println(b); 6 } 7 8