您的位置:首页 > 编程语言 > Java开发

Java的常见异常

2016-07-07 14:55 405 查看

Java的常见异常

//注意方法是通过对象调用

异常分为两种:

1,越界异常

2,空指针异常

越界异常

int[]sz=new int[10];
syso.sz[10]


2,空指针异常

list<String> list=new ArrayList<string>()
list.get(0);
try
{
Student s = null;
System.out.println(s.name);
int[] sz = new int[10];
System.out.println(sz[10]);
int i = 0;
System.out.println(10/i);
}
catch(Exception e)
{
e.printStackTrace();
//throw new Exception();
}


java.lang.NullPointerException
Student s = null;
System.out.println(s.name);

JFrame jf = null;
System.out.println(jf.EXIT_ON_CLOSE);


算数错误

int i=0;
syso.10/i;


转换格式异常

string s=”a”;

s=(int) a;//这里强调的是string类型的a不可以转化为int型,但是,如果是string类型的11(类似这种就可以转化为int型)

异常就是代码运行时出现的错误,不是编译时期,即出现的时期是Java时期不是javac时期。

发生异常时虚拟机会封装对象;

发生异常时会一直报异常情况,一直到main函数才会发生中断,不然一直抛出异常;

处理方法:

try

{

}

catch(NumberFormatException ne)

{

ne.printStackTrace();处理异常

System.out.println(“传入的不是参数”);

}

Finally

{

}//异常处理的统一出口

异常分类

Throwable:所有异常父类,分为error和exception

Error:系统内部异常,无法处理

Exception:捕捉并且处理

Exception分为RuntimeException(常常发生的)和非运行异常

自定义异常

业务异常时Java虚拟机抛不出来异常

抽象类才能继承,继承类抽象方法,但是如果不设置为抽象的可以设置成报异常,只要不继承就有异常

1, 声明方法会抛异常,

2, 用try{}catch{}

public static int calcPlus(String s1 ,String s2)
{

try {
int parseInt1 = Integer.parseInt(s1);
int parseInt2 = Integer.parseInt(s2);
System.out.println("try");
return parseInt1 + parseInt2;
} catch (Exception e) {

}
finally
{
System.out.println("finally");
}

return -1;


“`

3, 调用别人的接口最好try{}catch{}

public class Son extends AbstractFather{

}

Getmessage方法:构造出来显示异常信息的

public class LoginException extends RuntimeException {
String username;String password;
public LoginException(String username,String password)
{
this.username = username;
this.password = password;
}

public String getMessage() {

String s = "a" + "b";

//String
//StringBuffer--StringBuild
//HashMap  -- HashTable
//ArrayList -- Vector
//
StringBuffer sb = new StringBuffer();

sb.append("用户名,密码不一致");
sb.append("用户名是");
sb.append(username);
sb.append("密码是");
sb.append(password);

return sb.toString();
}
}


Throw和throws区别:前者是指函数每部抛异常,后者是在函数名上声明要抛异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 对象