-
异常链
public void test1() throws DrunkException()//声明抛出异常
{
throw new DrunkException("sdvwvdw");//抛出异常
}
public void test2()
{
try{test1();//调用时会抛出异常}//捕获异常
catch(DrunkException e){
RuntimeException ex=new RuntimeException("SADFD");
ex.initCause(e);//包装成运行时异常
throw ex;
}//处理异常
}
替换RuntimeException ex=new RuntimeException(e);
查看全部 -
函数体内throw new Exception1,被调用时throws Exception1,调用层解决不了就继续返回上一层
框出来的是如果在函数体内处理不了异常则继续抛出给上层调用这个函数的处理
自定义异常
class 自定义异常类名 extends 异常类型{}
class DrunkException extends Exception{
public DrunkException(){}
public DrunkException (String message)
{super(message);}
}
查看全部 -
try{
while(divider>-1){
result=(result+100)/divider;
divider--;
return result;
}
}catch(Exception e){
e.printStackTrace();//打印异常的具体信息
System.out.println("抛出异常了");
return -1;
}
try{
while(divider>-1){
result=(result+100)/divider;
divider--;
return result;
}
}catch(Exception e){
e.printStackTrace();//打印异常的具体信息
System.out.println("抛出异常了");
return result=999;
}
flnally
{//前两部分都执行完包括return语句之后,返回main函数之前被调用
System.out.println("finally!!!");
System.out.println(result);
}
return 111;//前三块如果没有return,则最后的return即是返回main函数的值
查看全部 -
try{//会引起异常的方法,抛出异常后停止执行转到catch}
catch(Exception e){//处理该异常,提示信息或记录错误日志}exception
finally{//最终执行的代码,善后工作}
多重catch块,顺序:先小后大,先子后父,就近选择catch块
catch(InputMismatchException e){//处理该异常}
catch(ArithmeticException e){//处理该异常}
查看全部 -
处理异常:提示编程人员或用户,运行或退出,保存程序的运行或回滚,释放占用的资源
throwable类包括error类和exception类
error类:系统错误,虚拟机错误/线程死锁
exception类:编码,环境,用户操作输入错误
exception类包括非检查异常runtimeException运行时异常,检查异常
runtimeException:引用空对象或方法nullpointerException,数组访问越界ArrayIndexOutOfBoundsException,错误类型转换classcastexception,算数:/0arithmeticexception,系统捕获处理,更改程序逻辑
检查异常:文件异常ioexception,sql异常SQLexception,手动添加捕获和处理语句
查看全部 -
异常应用总结
查看全部 -
java集合框架包括:Collection接口,Collections接口,Map接口;Comparator接口,Comparable接口
查看全部 -
泛型规定了某个集合只可以存放特定类型的对象,会在编译期间进行类型检查,可以按指定类型获取集合元素
查看全部 -
HashMap类:
HashMap中的Entry对象是无序排列的
Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)。
查看全部 -
Map接口:
Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value。
Map中的键值对以Entry类型的对象实例形式 存在。
键不可重复,value值可以。
每个键最多只能映射到一个值。
Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法。
Map支持泛型,形式如Map<K,V>。
查看全部 -
Set里内容是无序的 不可重复的
查看全部 -
Map中的containsValue方法和List,Set一样,也需要调用每一个Value值的equals方法去和参数对象进行比较,如果匹配成功那么返回结果为true。(即需要重写Value值类的equals方法)
查看全部 -
indexOf通过调用每个元素的equals方法进行比较,如果某个元素的equals方法返回为true,那么就把当前这个元素的索引位置作为结果进行返回,假如序列中有多个重复的元素,只返回这个重复元素第一次出现时的索引位置。 lastindexOf方法返回最后一次出现的位置。如果找不到元素则返回-1。
查看全部 -
hashSet的contains方法先调用hashSet的元素的hashCode方法进行判断,如果返回true再调用equals方法来进一步判断。所以需要重写hashCode和equals方法
查看全部 -
contains方法的原理,调用l集合中的元素的equals方法与contains的参数进行比较,只要返回一个true就会终止判断并且返回true。所以可以通过重写集合中的元素类的equals方法达到判断的效果。
查看全部
举报