package com.java.exp12;
/**
* 1、异常概述
* 异常在Java语言中也使作为类的实例的形式出现的
* 通过异常处理机制,可以在编写代码的同时在其他地方处理异常
* 2、处理程序异常错误
* try catch 捕获 throws向上抛出
* 2.1、错误
* 异常产生后,如果不做处理,程序就会被终止
* 2.2、捕捉异常
* try-catch语句块和finally语句块
* 1.catch中变量e 的方法
* getMessage() 输出错误性质
* toString() 给出错误的类型和性质
* printStackTrace() 指出异常的类型、性质、栈层次及出现在程序中的位置
* 2.finally语句块
* 无论程序有无异常发生,对应的finally语句都会执行,但以下四种除外:
* 在finally语句块中发生异常
* 在前面的代码中使用System.exit()退出程序
* 程序所在的线程死亡
* 关闭CPU
* 3、Java常见异常
* 厉害的程序员都是在异常中崛起的,见的多了,自然就了解了
* 4、自定义异常
* (1)、创建自定义异常
* (2)、在方法中通过throw关键字抛出异常对象
* (3)、在出现异常方法的调用者中捕获并处理异常
* 5、在方法中处理异常
* 5.1、使用throws关键字抛出异常
* 如果是Error,RuntimeException或是它们的子类,可以不使用throws关键字来生命要抛出的异常,
* 编译仍能顺利通过,但是运行时会被系统抛出
* 5.2、使用throw关键字抛出异常
* throw通常用来抛出用户自定义异常
* 6、运行时异常
* Throwable类派生两个子类,Error和Exception
* Error用来描述Java运行系统中的内部错误以及资源耗尽的错误,这类错误比较严重
* Exception类称为非致命性类,可以通过捕捉处理使策划稿内需继续执行
* RuntimeException异常 和除其之外的异常
* 7、异常的使用原则
* 在当前方法声明中使用try-catch语句捕获异常
* 一个方法被覆盖是,覆盖它的方法必须抛出相同的异常或异常的子类
* 如果父类抛出多个异常,则覆盖方法必须抛出那些异常的一个子集,不能抛出新异常
* */
public class Demo {
public static void main(String[] args) {
try {
String str = "lili";
System.out.println(str+"年龄是:");
int age = Integer.parseInt("20L");
System.out.println(age);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("program over");
}
}
MyException类
package com.java.exp12;
public class MyException extends Exception{
public MyException(String ErrorMessage){
super(ErrorMessage);
}
}