java:异常处理

时间:2021-03-20 17:30:06

异常:编译正常,但运行出错,会中断正常指令流

RuntimeException:运行时异常

分为:uncheck exception、和check exception(除了RuntimeException以及子类以外的)

uncheck exception

class Test
{
public static void main(String args[]){
System.out.println("1");
int i = 1/0;
System.out.println("2");
}
}

java:异常处理

异常处理:uncheck exception,try里面出异常,就跳到catch里面执行

try{..}

catch(){..}

finally{..}

class Test
{
public static void main(String args[]){
try{
int i = 1/0;
}catch(Exception e){
//出异常执行这里
e.printStackTrace();
System.out.println("2");
}finally{
//不管出不出异常都执行这里
System.out.println("3");
}
}
}

throw抛出异常对象:

class User
{
void setage(int age){
if(age<0){
RuntimeException r = new RuntimeException("年龄不为负");
throw r;
}
System.out.println("函数末");
}
}
class Test
{
public static void main(String args[]){
User u = new User();
u.setage(-3);
}
}

java:异常处理

throws声明一个函数有可能产生异常,调用的时候再处理异常

class User
{
void setage(int age) throws Exception{
if(age<0){
Exception e = new Exception("年龄不为负");
throw e;
}
}
}
class Test
{
public static void main(String args[]){
User u = new User();
try{
u.setage(-3);
}catch(Exception e){
System.out.println(e);
}
}
}