异常处理:
输入的是否是整数可以使用判断结构吗?
输入的是否是整数可以使用判断结构吗?
2018-06-18
/**
* 学习异常
* @author zhuzg
*
*/
public class TestException {
public static void main(String[] args) {
/*try {
int i = 100/0;
}catch(java.lang.ArithmeticException e){
e.printStackTrace();
}
int[] iArray = new int[10];
iArray[1] = 10;*/
//iArray[1] = new Object();
System.out.println("TestException is " + TestException());
System.out.println("TestException2 is " + TestException2());
System.out.println("TestException3 is " + TestException3());
System.out.println(" testException5 result is " + testException5() );
MyCls mc = new MyCls();
}
/**
* 问返回多少 4
* @return
*/
public static int TestException() {
// TODO Auto-generated constructor stub
try {
int i = 100/0;
return 1;
}catch(java.lang.ArithmeticException e){
e.printStackTrace();
return 2;
}finally{
return 4;
}
//return 3;
}
/**
* 问返回多少 2
* @return
*/
public static int TestException2() {
// TODO Auto-generated constructor stub
try {
int i = 100/0;
return 1;
}catch(java.lang.ArithmeticException e){
e.printStackTrace();
return 2;
}
//return 3;
}
/**
* 返回内容
* @return
*/
public static int TestException3() {
// TODO Auto-generated constructor stub
try {
int i = 100/0;
return 1;
}catch(java.lang.ArithmeticException e){
//e.printStackTrace();
int j= 100/0;
return 2;
}
//return 3;
}
public static int TestException4() {
// TODO Auto-generated constructor stub
// 错误的代码写法 前边不能包括后边
/* try {
int i = 100/0;
return 1;
}catch(Exception e) {
}catch(ArithmeticException e){
//e.printStackTrace();
int j= 100/0;
return 2;
}*/
/**
* 后边可以包含前边
*/
try {
int i = 100/0;
return 1;
}catch(ArithmeticException e) {
return 100;
}catch(Exception e){
//e.printStackTrace();
int j= 100/0;
return 2;
}
//return 3;
}
/**
* 不会有任何返回会
* @return
*/
public static int testException5() {
try {
return 100/0;
}catch(Exception e) {
System.exit(10);
return 10;
}finally {
return 20;
}
}
public static int testException6() {
try {
return 100/0;
}catch(Exception e) {
// 得到的是错误详细信息
// e.getMessage()
// 打印栈的调用顺序图
// e.printStackTrace();
// 既然是栈 一定在同一个线程 一个线程不可能打印另外一个线程中异常内容。
// 一个线程中的函数绝对不可能调用到其他线程的函数
return 10;
}finally {
return 20;
}
}
}
/**
* 构造器也需要处理异常
* @author zhuzg
*
*/
class MyCls{
public MyCls() {
int i = 100/0;
}
}
举报