关于异常

异常总结
========

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.异常与错误的区别
异常是会被处理但是错误经常是很难处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值