标签:error bsp item 就会 boolean string 必须 调用 find
为甚么要处理异常呢?对于每位初学者都有这个疑问.
首先来了解什么是异常
异常就是程序在运行时出现的,不正常的情况或结果.
而假设异常没有处理,会导致程序中断,以致造成损失.(特别是开发中)
异常的继承体系,Exception和Error是Throwable的子类分别表示错误和异常.
对于Error我只需了解一般不做处理,这个只能通过修改代码.
常见的错误有:
1.StackOverflowError:这个是栈溢出,指的是递归到深处没有出口而导致的
2.OutOfMemoryError:内存溢出,当没法创建一个新的对象时,就会出现这个错误
Exception这才是今天的重点
异常表示的就是程序运行时,出现不正常的情况,一般大都是轻度或中度的问题属于可预测,可恢复的.
如,数组索引越界,除数为0,诸如此类.
常见异常
ArithmeticException:算数运算异常,当出现异常运算条件时,如除数为0.
NumberFormatException:数据格式转换异常,如Intager i=Intager.parseInt("123a");
NullPointException:空指针异常,当应用程序试图在需要对象的地方使用了null,抛出的异常
ArrayOutOfIndexBoundsException:用非法索引访问数组抛出的异常
一但出现异常,程序会立即终止,所以在开发中一定要处理异常.
而处理异常一般有两种方式,捕获和抛出,不做处理
现在说说捕获异常,
分为单个捕获
try{ //可能出现问题的语句; }catch(要捕获的异常 变量){ //处理捕获到异常的代码 } //如果后面还有代码就无论try是否执行,这里都会执行
多个捕获异常
try{ //可能出现异常的语句; }catch(捕获的异常A类型 变量){ //可能出现异常的语句; }catch(捕获的异常B类型 变量){ }......
finally语句块(当有必须执行的代码时,可以放入finally语句块(不能单独使用)但也有不执行的情况,JVM结束方法,System.exit(0);)
一般我们会在里面放置关闭资源的语句.
一种是自身抛出异常,不处理,而抛出异常,有两种:
方法里面会出现异常,但方法不想处理这个异常,使用throw抛出异常对象。
方法里面可能会产生异常,自身不想处理,提醒调用该方法的方法做需要处理,使用throws关键字。(提示可能出现的异常)
抛出异常
public class TryCatchFinallyDemo{ public static void main(String[] args) { isExit("will"); } public static boolean isExit(String name) throws RuntimesException{//声明异常 String[] username={"will","lucky","funny"}; if(name!=null&&name.trim().length()!=0){ for(String ele: username){ if(name.equals(ele)){ throw new RuntimesException("用户名已存在");//手动抛出异常对象 } } } return false; }
throws方法上声明可能抛出的异常类型
public class 类名 throws 提示异常名称.....{ }
标签:error bsp item 就会 boolean string 必须 调用 find
原文地址:https://www.cnblogs.com/weiwo/p/13569865.html