package java151222;
public class ExceptionDemo {
public static void main(String[] args) //throws Exception
{
// Demo demo=new Demo();
// int x= demo.div(4, 1);
// int x=demo.div(4, 0);
// System.out.println("x="+x);
// System.out.println("Over!");
// Demo demo=new Demo();
// try {
// int x=demo.div(4, 0);
// System.out.println("x="+x);
// } catch (Exception e) {
// System.out.println("除零了!");
// System.out.println(e.getMessage());//
// System.out.println(e.toString());//异常名称:异常信息
// e.printStackTrace();//异常名称,异常信息,异常出现的位置
// //jvm默认的异常处理机制,打印异常的堆栈的跟踪信息
// }
// byte[] arr =new byte [1024*1024*600];
Demo demo=new Demo();
int x;
try {
// x = demo.div(5, 1);
// x = demo.div(5,0);
x = demo.div(4,1);
System.out.println("x="+x);
} catch (ArithmeticException e) {
e.printStackTrace();
}catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}
System.out.println("Over!");
}
}
/*
异常:就是程序在运行时出现不正常情况.
异常出现:问题也是显示生活中一个具体的事物.
异常的处理:
try{ 需要被检测的代码 } catch(异常类 变量){ 处理异常的代码 :(处理方式) } finally{ 一定会执行的语句 }
对多异常的处理
1,声明异常时,建议申明更为具体的异常,这样处理的可以更具体
2,对方生命几个异常,就对应几个catch块
如果多个catch块中的异常出现 继承关系,父类异常catch块放在最下方
建立在进行catch处理时,catch中一定要定义具体处理方式
不要简单定义一句e.printStackTrace()
*/
class Demo{
int div(int a ,int b)throws ArithmeticException,ArrayIndexOutOfBoundsException
{
int [] arr =new int [a];
System.out.println(arr[4]);
return a/b;
}
public class ExceptionDemo {
public static void main(String[] args) //throws Exception
{
// Demo demo=new Demo();
// int x= demo.div(4, 1);
// int x=demo.div(4, 0);
// System.out.println("x="+x);
// System.out.println("Over!");
// Demo demo=new Demo();
// try {
// int x=demo.div(4, 0);
// System.out.println("x="+x);
// } catch (Exception e) {
// System.out.println("除零了!");
// System.out.println(e.getMessage());//
// System.out.println(e.toString());//异常名称:异常信息
// e.printStackTrace();//异常名称,异常信息,异常出现的位置
// //jvm默认的异常处理机制,打印异常的堆栈的跟踪信息
// }
// byte[] arr =new byte [1024*1024*600];
Demo demo=new Demo();
int x;
try {
// x = demo.div(5, 1);
// x = demo.div(5,0);
x = demo.div(4,1);
System.out.println("x="+x);
} catch (ArithmeticException e) {
e.printStackTrace();
}catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}
System.out.println("Over!");
}
}
/*
异常:就是程序在运行时出现不正常情况.
异常出现:问题也是显示生活中一个具体的事物.
异常的处理:
try{ 需要被检测的代码 } catch(异常类 变量){ 处理异常的代码 :(处理方式) } finally{ 一定会执行的语句 }
对多异常的处理
1,声明异常时,建议申明更为具体的异常,这样处理的可以更具体
2,对方生命几个异常,就对应几个catch块
如果多个catch块中的异常出现 继承关系,父类异常catch块放在最下方
建立在进行catch处理时,catch中一定要定义具体处理方式
不要简单定义一句e.printStackTrace()
*/
class Demo{
int div(int a ,int b)throws ArithmeticException,ArrayIndexOutOfBoundsException
{
int [] arr =new int [a];
System.out.println(arr[4]);
return a/b;
}
}
QQ:489552622