JAVA异常处理学习
JAVA异常处理学习
学习视频来自郝斌老师《JAVA入门》中的第46个视频。
package TestExcep;
/**
* add 加
* sub 减
* minus 负数
* pisitive 正数
* multiply 乘
* divide 除
* **/
class A{
int divide(int a, int b)//除
{
int m;
m=a/b;
return m;
}
}
public class TestExcep_1 {
public static void main(String[] args)
{
A aa=new A();
try
{
aa.divide(6,0);
}
catch (ArithmeticException e) //ArithmeticException 表示了算数的异常
{
System.out.printf("除零异常\n");// 处理完错误后接下去的代码可以正常运行,若无异常处理机制,则代码运行遇错则停
}
System.out.printf("Hello world ! ");
}
}
package TestExcep;
/**
* add 加
* sub 减
* minus 负数
* pisitive 正数
* multiply 乘
* divide 除
* **/
class A{
int divide(int a, int b)//除
{
int m;
System.out.printf("222222\n");
m=a/b;//14行
System.out.printf("111111\n");
return m;
}
}
/**
* 因为异常代码在14行,所以当代码运行到13行的时候,222222正常输出,15行不输出
* 若有try、catch语句,则输出222222、除零异常、Hello world !
* 若无异常则13、15行正常输出,并且38行也可以正常输出
* **/
public class TestExcep_1 {
public static void main(String[] args)
{
A aa=new A();
try
{
aa.divide(6,0);//32行
} //e用来接收32行抛出的异常
catch (ArithmeticException e) //ArithmeticException 表示了算数的异常
{
e.printStackTrace();//可以理解为输出该异常的具体信息
System.out.printf("除零异常\n");// 处理完错误后接下去的代码可以正常运行,若无异常处理机制,则代码运行遇错则停
}
System.out.printf("Hello world ! ");//38行
}
}
/**
* 输出结果为:
222222
除零异常
Hello world ! java.lang.ArithmeticException: / by zero
at TestExcep.A.divide(TestExcep_1.java:15)
at TestExcep.TestExcep_1.main(TestExcep_1.java:32)
* **/