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和exceptionError:系统内部异常,无法处理
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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Python动态类型的学习---引用的理解
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序