这是从别的网站盗来的图。
异常分为两种:
Error:这是程序无法处理的错误
Exception:这是异常,又分为两种:
处理异常的方法:
抛出异常:
throws 举个例子,汽车出现故障了,汽车自己没办法处理,就只能交给人去处理
throw出现在函数体里面,这个算是自定义了一个自己的异常类。可以输出自己所定义的异常。
注意:这个throw也是需要throws MyException的。一开始我以为不用。所以出错了
代码:
package com.ehealth.exc;import java.lang.Exception;
public class ExcTest {
static int question(int x,int y) throws MyException{
if(y<0){
throw new MyException("除数不能是负数");
}
return x/y;
}
static int que(int x,int y ) throws MyException{
if(x<0){
throw new MyException("第一个数字不能小于0");
}
return x+y;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int x=3;
int y=-1;
int i=-1;
int j=1;
try {
int a=que(i,j);
} catch (MyException e1) {
// TODO Auto-generated catch block
System.out.println(e1.getMessage());
}
try{
int res=question(x,y);
}catch(MyException e){
System.out.println(e.getMessage());
}catch(ArithmeticException e){
System.out.println(e.getMessage());
}catch(Exception e){
System.out.println("程序发生了其他的异常!");
}
}
}
class MyException extends Exception{
String message;
public MyException(String Err){
message=Err;
}
public String getMessage(){
return message;
}
}
捕捉异常:try{}catch(exception e){}
出自:http://blog.csdn.net/hguisu/article/details/6155636
本文出自 “ehealth” 博客,谢绝转载!