java:try{} catch{}是什么意思?
try{sleep(1000)}
catch(InterruptException ie){return}
怎么回事? 展开
这是一个提示出现异常的代码。try{}catch(Exception e){}
try{}里边代指出现异常的代码。catch(Exception e)中的e就是异常各类,如果你能确定那种异常,就可以用那种异常代码代替这个e。
而后边{}就是你处理异常的方法,你可以打出异常,或者是输出提示出错了,很灵活。
有时候还会有一个finally{}在最后,这个是一定会处理的代码,不会因为异常的出现会终止。
扩展资料:
try 是JAVA中常用到的关键命令。用于try..catch..finally块,进行异常捕获。
try是try..catch..finally块中用来引导第一部分的关键字,用于声明需要捕获指定语句块的异常。
完整的使用方法是:
try {
语句块1
} catch (<? extends Throwable> e) {
语句块2.1
} catch (<? extends Throwable> e) {
语句块2.2
} catch (<? extends Throwable> e) {
语句块2.3
...
} finally {
语句块3
}
catch可以出现0次、1次或多次,finally可以出现0次或1次,但是catch和finally不能同时不出现。
catch用法:
当语句块1中抛出异常时,立即离开语句块1,之后会在所有catch中依次进行类名比对。如果抛出异常和catch声明的异常类名一致,或抛出异常是catch声明的异常的子类,则会进入该catch的语句块(成为异常的捕获),在catch的语句块中可以将异常输出到命令行或引导用户进行问题反馈。
如果任何一个catch都不匹配,会像上层调用抛出这一异常(在此之前会进入finally语句块,详情参考下面的finally用法)。
finally用法:
在语句块1、语句块2中,任何试图离开try..catch..finally块的语句都会导致语句块3被执行,如return throw break continue。在finally的语句块中可以进行内存回收等工作。
需要注意的是,如果导致离开的不是语句造成的,而是断电、内存不足等计算机故障,finally语句块不会被执行。
例子:
public class Test {
public static void main(String[] args) {
int i = 10;
try {
System.out.println(i / 0);
}catch(ArithmeticException ame) {
ame.printStackTrace();
} finally {
System.out.println("byebye");
}
}
}
参考资料:百度百科-try
Java关键字
用于try..catch..finally块,进行异常捕获
名称:try
用法:try是try..catch..finally块中用来引导第一部分的关键字,用于声明需要捕获指定语句块的异常
完整的使用方法是
try {
语句块1
} catch (<? extends Throwable> e) {
语句块2.1
} catch (<? extends Throwable> e) {
语句块2.2
} catch (<? extends Throwable> e) {
语句块2.3
...
} finally {
语句块3
}
catch可以出现0次、1次或多次,finally可以出现0次或1次,但是catch和finally不能同时不出现。
扩展资料:
在语句块1、语句块2中,任何试图离开try..catch..finally块的语句都会导致语句块3被执行,如return throw break continue。在finally的语句块中可以进行内存回收等工作。
需要注意的是,如果导致离开的不是语句造成的,而是断电、内存不足等计算机故障,finally语句块不会被执行。
参考资料:百度百科:try
这是java用来捕捉异常的,捕捉程序在运行时可能出现的异常。
1,当代码在运行时可能出现异常时用try{} catch{}捕捉异常,这样程序出现异常不会立即跳出程序,可以经过处理后让程序继续运行或者跳出。例如:
String a = "12211a";
try {
int b = Integer.parseInt(a); // 将字符串转为数字,a里面有字母,转换失败,将会抛出异常。
System.out.println("is a number:"+b);
} catch (Exception e) {
System.out.println("not a number");
}
2,还有很多其他异常,列举一些常见异常:
算术异常类:
ArithmeticExecption
空指针异常类:
NullPointerException
类型强制转换异常:
ClassCastException
类未找到异常:
ClassNotFoundException
数组负下标异常:
NegativeArrayException
数组下标越界异常:
ArrayIndexOutOfBoundsException
违背安全原则异常:
SecturityException
文件已结束异常:
EOFException
文件未找到异常:
FileNotFoundException
字符串转换为数字异常:
NumberFormatException
操作数据库异常:
SQLException
输入输出异常:
IOException
}用try包围的语句是java编译器认为有可能出现异常,所以让你提前处理。catch{ }是捕获上面的语句出现的异常,然后在catch里写方法处理这个异常!
try{
sleep(1000);
} 是说sleep(1000);这个方法执行的时候可能会抛catch里的阻塞异常,如果真的发生了,那么catch就会捕获这个异常,让他return,如果没有捕获到异常,程序就接着向下走!
运行时异常是:你的程序在运行的时候才可能知道的异常,nullPointException(空指针异常),ClassNotFoundException(运行时找不到类),ArithmeticException(除以0异常),IndexOutOfBoundsException(数组越界),这些异常只有在程序运行的时候才可能知道有问题,编译的时候是无法知道有没有问题的,例如int a = 10/0;你在编译的时候是不报任何错误的,只有你运行的时候才出现ArithmeticException,这些异常不需要你手动捕获,JVM会自动帮你捕获,交由jvm自带的异常处理机制处理,当然,也可以自己在代码中手动捕获。
非运行异常:编译的时候就不能通过的,例如:fileNotFoundException,这种情况要求在出现异常的时候必须当时做出处理,不能像runtimeException一样throws,所以要在try{写有可能出现异常的语句,在catch{写如果出现异常要做的事情。
这就是我所谓的理解try catch
望采纳。。
广告 您可能关注的内容 |