异常总结
========
1.异常是什么?
当一个程序员写程序的时候会遇到一些不正常的情况。
异常(Exception)是一个java中的类来处理这些不规则情况
2.异常关键字
异常的主要关键字是:
-try
-catch
-finally
-throw
-throws
-throwable
3.异常类型
异常类型有很多, 自己也会创造一些。
最常遇见是: -IOException
-IndexOutOfBoundsException
-NotBoundException
-NumberFormatException
-ArithmeticException...
4.异常的处理的方式
处理异常的方式有三种:
-第一个方式是用 try-catch-finally 关键字。
这个方式是程序员要想会遇到什么异常才会处理好。
使用:
try{
//会有异常的代码
}catch(异常类 异常对象){
//来处理异常的代码
}catch(异常类 异常对象){
//来处理异常的代码
}finally{
//异常是否处理好要调用的代码
}
注意: 当第一个异常被第一个Catch处理好了但是又遇到一个异常可以继续用catch来处理
public class MyException extends Exception{
public MyException(String message){
super(message);
}
}
import java.util.ArrayList;
import java.util.List;
public class Test {
private String s;
// 主函数
public static void main(String[] args)throws MyException {
//创建对象
Test test = new Test();
try{
test.f(); //调用方法
}catch(Exception e){
System.out.println(e.getMessage());
throw new MyException("异常出现了!");
}
}
public void f() throws IndexOutOfBoundsException{
int i=5;
// 创建一个集合
List<String> list = new ArrayList<String>(i);
int t = list.size();
System.out.println("集合大小 = "+t);
list.get(9); //java.lang.IndexOutOfBoundsException
}
}
5.显示异常的方式
-e.getMessage(): 得到异常的内容
-e.toString(): 得到异常的类型
-e.printStackTrace(): 得到最异常的内容和类型,异常的行。
6.异常与错误的区别
异常是会被处理但是错误经常是很难处理。
========
1.异常是什么?
当一个程序员写程序的时候会遇到一些不正常的情况。
异常(Exception)是一个java中的类来处理这些不规则情况
2.异常关键字
异常的主要关键字是:
-try
-catch
-finally
-throw
-throws
-throwable
3.异常类型
异常类型有很多, 自己也会创造一些。
最常遇见是: -IOException
-IndexOutOfBoundsException
-NotBoundException
-NumberFormatException
-ArithmeticException...
4.异常的处理的方式
处理异常的方式有三种:
-第一个方式是用 try-catch-finally 关键字。
这个方式是程序员要想会遇到什么异常才会处理好。
使用:
try{
//会有异常的代码
}catch(异常类 异常对象){
//来处理异常的代码
}catch(异常类 异常对象){
//来处理异常的代码
}finally{
//异常是否处理好要调用的代码
}
注意: 当第一个异常被第一个Catch处理好了但是又遇到一个异常可以继续用catch来处理
[/code]
import java.util.ArrayList;
import java.util.List;
public class Test {
private String s;
// 主函数
public static void main(String[] args) {
//创建对象
Test test = new Test();
test.f(); //调用方法
}
public void f(){
int i=5;
// 创建一个集合
List<String> list = new ArrayList<String>(i);
int t = list.size();
// 处理异常
try{
System.out.println("集合大小 = "+t);
list.get(9); //java.lang.IndexOutOfBoundsException
}catch(ArithmeticException e){
System.out.println(i/t); //java.lang.IndexOutOfBoundsException
}catch(IndexOutOfBoundsException e){
System.out.println("不能处于零!");
}
finally{
System.out.println("出现异常了!");
}
}
}
-第二个方式是用throws 关键字:
throws 关键字会让我们出现异常被忽视,谁 执行谁处理!
-第三个方式是用throw关键字:
throw 关键字是用来调用自己创建了的异常。
创建自定义的异常: 创建自定义的异常要继承Exception类,
写一个构造函数带一个String参数。
[code="java"]
public class MyException extends Exception{
public MyException(String message){
super(message);
}
}
import java.util.ArrayList;
import java.util.List;
public class Test {
private String s;
// 主函数
public static void main(String[] args)throws MyException {
//创建对象
Test test = new Test();
try{
test.f(); //调用方法
}catch(Exception e){
System.out.println(e.getMessage());
throw new MyException("异常出现了!");
}
}
public void f() throws IndexOutOfBoundsException{
int i=5;
// 创建一个集合
List<String> list = new ArrayList<String>(i);
int t = list.size();
System.out.println("集合大小 = "+t);
list.get(9); //java.lang.IndexOutOfBoundsException
}
}
5.显示异常的方式
-e.getMessage(): 得到异常的内容
-e.toString(): 得到异常的类型
-e.printStackTrace(): 得到最异常的内容和类型,异常的行。
6.异常与错误的区别
异常是会被处理但是错误经常是很难处理。