2020年11月30日星期一

26 异常

26 异常

定义

程序中运行时出现的错误

分类

从是否主动产生可分为:

1.java中已经预定义好的异常(ArrayIndexoutofException和nullPointerException)2.自行定义的异常(如AgeException)

从开发者角度可分为:

1.Exception异常(程序中出现的错误)

2.Error异常(JVM错误,程序无法处理)

补充:Throwable类是Exception和Error的父类

处理异常的机制

1.捕捉异常(try.......catch)-------主动

try{ //可能发生异常的语句}catch(异常类 异常对象){ //异常处理语句}catch(异常类 异常对象){ //异常处理语句}finally{ //调用try catch时一定会执行的代码,不管你在try所在的普通代码块中有没有产生异常}//异常处理语句可以有很多即catch{}可以续写很多次
public class ExceptionDemo1{ public static void main(String args[]){  int i=10;  int j=0;  try{  int trmp=i/j;  System.out.println("程序没有出现异常");  }catch(ArithmeticException e){  System.out.println("出现异常了: "+e);  }finally{  System.out.println("try---catch--finally操作处理完毕!!!");  } }}

2.交给方法调用处处理

​ throws

public 返回值类型 方法名称(参数1,参数2......参数n) throws Exception{ }
public class A{ public void print() throws Exception{  int i=10;  int j=0;  int trmp=i/j;  System.out.println("程序没有出现异常"); } }//类A中print()方法出现的异常(运行错误)会丢给调用 类A print()方法处处理
public class ExceptionDemo1{ public static void main(String args[]){  A a=new A();  a.print();//异常在这里一定得处理,不然会报错 }}

注意:理论上任何方法都可以抛异常,但不建议在main函数中抛异常,因为这个时候它会把异常交给jvm处理,得不到任何有效的异常信息了.

3.抛出异常

throw new Exception("自己抛的异常");//抛出异常时直接抛出异常的实例化对象即可//这个新抛出的异常也需要处理

4.面试题补充

RuntimeException和Exception的区别,请列举几个常见的RunTimeException

(1)RuntimeException是Exception的子类

(2)Exception定义了必须处理的异常,而RunTimeException定义的异常可以选择型处理

(3)常见的RunTimeException:

​ a. NumberFormatException、

​ b. ClassCastException、

​ c. NullPointerException

​ d. ArithmeticException、

​ e. ArrayIndexOutOfBoundsException









原文转载:http://www.shaoqun.com/a/494415.html

hunter:https://www.ikjzd.com/w/992

lithium:https://www.ikjzd.com/w/2505

出口易:https://www.ikjzd.com/w/1317


26异常定义程序中运行时出现的错误分类从是否主动产生可分为:1.java中已经预定义好的异常(ArrayIndexoutofException和nullPointerException)2.自行定义的异常(如AgeException)从开发者角度可分为:1.Exception异常(程序中出现的错误)2.Error异常(JVM错误,程序无法处理)补充:Throwable类是Exception和Err
bsci 认证:bsci 认证
i号店:i号店
潮州淡浮院免门票吗?淡浮院老人免费吗?:潮州淡浮院免门票吗?淡浮院老人免费吗?
Tiktok升级广告武器库 海外版巨量引擎正式出征:Tiktok升级广告武器库 海外版巨量引擎正式出征
教你完美避开亚马逊库存管理的三个误区:教你完美避开亚马逊库存管理的三个误区

没有评论:

发表评论