java关于异常
扫描二维码
随时随地手机看文章
1.什么是异常
程序中遇到的非致命错误,而不是编译时的语法错误,如空指针异常,操作数越界,打开一个不纯在的文件、网络中断等等。
由于Java语言面向对象,万物皆对象,异常也被看成是一种对象。
//=============================================
2.异常的继承体系
java.lang.Throwable -- 所有的错误和异常的父类 ,异常这个事物最高的父类
|-- 错误 Error 所有错误的父类
|-- 异常 Exception 所有异常的父类
Throwable类中的三个方法,都是将异常发生的信息,显示出来
String toString() 返回此 throwable 的简短描述。
String getMessage() 返回此 throwable 的详细消息字符串。
void printStackTrace() 将此 throwable 及其追踪输出至标准错误流。
//=============================================
3.如何处理异常
第一种处理方式:使用:try
catch 处理异常。 格式语法:
try{
被检测的代码
可能发生异常的代码
}catch(异常类 变量){
处理异常
循环,判断,调方法
}
案例:
class ExceptionDemo
{
public static void main(String[] args)
{
try{
int result = div(3,0);
System.out.println("result="+result);
}catch(Exception e){
//输出异常的信息
e.printStackTrace();//打印异常信息,就用这个方法
}
System.out.println("Game Over");
}
private static int div(int x , int y){
return x / y ;
}
}
//==============
第二种方式:继续抛出异常,关键字throw 与 throws
throw 关键字用法:写在方法内部的,意思抛出异常的意思,throw 后面写异常对象 new出来
throws 写在方法的声明上,后面写的是异常类。
案例:
class ExceptionDemo2
{
public static void main(String[] args) throws Exception
{
//System.out.println("Hello World!");
method(15);
}
//定义一个方法,计算月份属于那一个季节
//throws Exception方法有异常,自己不处理,声明出来,交给调用者处理
private static void method(int month)throws Exception{
if(month < 1 || month > 12)
//如果if成立,说明月份非法,抛出异常
throw new Exception();
else if(month >=3 && month