当前位置: 首页 > wzjs >正文

银川网站建设就找湖海互联网营销培训班

银川网站建设就找湖海,互联网营销培训班,卡片式设计 网站,enfold wordpress主题(一)抛出异常 异常就是程序出现的问题 eg:类型转换异常,字符串abc无法转换为数字,所以开发者将可能出现的问题使用一个异常对象封装,通过该对象告诉我们出现异常的地方 package com.ap; /*认识yichang*/ public clas…

(一)抛出异常

异常就是程序出现的问题

eg:类型转换异常,字符串abc无法转换为数字,所以开发者将可能出现的问题使用一个异常对象封装,通过该对象告诉我们出现异常的地方

package com.ap;
/*认识yi'chang*/
public class Exception {public static void main(String args[]){Integer.valueOf("abc"); //字符串abc无法转换为数字}}

//异常报错:

Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
    at java.base/java.lang.Integer.parseInt(Integer.java:668)
    at java.base/java.lang.Integer.valueOf(Integer.java:999)
    at com.ap.Exception.main(Exception.java:5)

其他可能异常:数组下标越界;整数除零;

(二)异常的体系

异常的抛出和处理:

 

异常的作用:

 

(三)自定义运行时异常

(1)定义一个异常类继承RuntimeException

(2)重写构造器

//自定义异常
package ExceptionRunTime;
//必须让这个类继承RuntimeException,才能成为一个运行时异常类
public class AgeRunTimeException extends RuntimeException{//设置有参构造器和无参构造器public AgeRunTimeException(){}public AgeRunTimeException(String message){
//        当你调用 super(message) 时,实际上是在调用父类(在自定义运行时异常的场景下,
//        父类通常是 RuntimeException)的带参构造方法,
//        把错误信息传递给父类。父类会将这个错误信息存储在异常对象里,方便后续在捕获异常时获取并处理super(message);}}

(3)通过throw new 异常类(***)来创建异常对象并抛出(编译阶段不报错,提醒不强烈,运行时才可能会出现)

//测试异常
package com.ap;import ExceptionRunTime.AgeRunTimeException;/*自定义异常,以及异常的作用*/
public class ExceptionTest1 {public static void main(String[] args) {//保存一个合法年龄try {//上层可以捕获异常并打印异常saveAge(160);} catch (Exception e) {e.printStackTrace(); //e.printStackTrace(); 是 Java 中用于打印异常堆栈跟踪信息的方法调用System.out.println("底层代码报错");}}public static void saveAge(int age){if(age>0 && age<150){System.out.println("年龄合法,保存成功~~~~~~~");}else{throw new AgeRunTimeException("当前年龄不合法");}}}

(四)自定义编译时异常

1.编译时异常程序的两种显示处理

package com.ap;import java.text.SimpleDateFormat;
import java.util.Date;/*认识 编译时异常*/
public class ExceptionTest2 {
//main方法时由JVM调用,所以JVM是main方法的最上层程序public static void main(String[] args) throws Exception {  //1.通过throws向上抛出异常//解析异常是典型的编译时异常//编译时异常(也被叫做受检查异常)要求在代码里显式地处理,不然代码就无法通过编译SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d=sdf.parse("2012-12-2 10:23:23");}}
package com.ap;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/*认识 编译时异常*/
public class ExceptionTest2 {public static void main(String[] args) {//解析异常是典型的编译时异常//编译时异常(也被叫做受检查异常)要求在代码里显式地处理,不然代码就无法通过编译try {SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d=sdf.parse("2012-12-2 10:23:23");} catch (ParseException e) {throw new RuntimeException(e);}}}

 

(1)定义一个异常类继承Exception

  (2)重写构造器

package ExceptionRunTime;
//必须让这个类继承Exception,才能成为一个编译时异常类
public class AgeException extends Exception{//设置有参构造器和无参构造器public AgeException(){}public AgeException(String message){
//        当你调用 super(message) 时,实际上是在调用父类(在自定义运行时异常的场景下,
//        父类通常是 RuntimeException)的带参构造方法,
//        把错误信息传递给父类。父类会将这个错误信息存储在异常对象里,方便后续在捕获异常时获取并处理super(message);}}

(3)通过throw new 异常类(***)来创建异常对象并抛出(编译阶段就报错,提醒强烈)

package com.ap;import ExceptionRunTime.AgeException;
import ExceptionRunTime.AgeRunTimeException;/*自定义异常,以及异常的作用*/
public class ExceptionTest1 {public static void main(String[] args) {//保存一个合法年龄try {//上层可以捕获异常并打印异常SaveAge2(160);} catch (Exception e) {e.printStackTrace(); //e.printStackTrace(); 是 Java 中用于打印异常堆栈跟踪信息的方法调用System.out.println("底层代码报错");}}//编译时异常,需要显示处理异常,throw抛出异常 或用throws在方法上抛出异常public static void SaveAge2(int age)throws AgeException{if(age>0 && age<150){System.out.println("年龄合法,保存成功~~~~~~~");}else{throw new AgeException("当前年龄不合法");}}}

(五)异常捕获

1、异常处理的总结?在开发中异常的常见处理方式是:底层的异常抛出去给最外层,最外层集中捕获处理。

 代码中常见的异常处理:层层外抛,在最外层通过try-catch捕获异常

package com.ap;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
//层层外抛,在最外层通过try-catch捕获异常
public class CatchException {public static void main(String[] args) throws FileNotFoundException, ParseException {try {Test1();//在这里是最外层,捕获异常} catch (FileNotFoundException e) {e.printStackTrace();System.out.println("您要找的文件不存在");} catch (ParseException e) {e.printStackTrace();System.out.println("解析失败");}}public static void Test1()throws FileNotFoundException, ParseException {//编译时异常SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d=sdf.parse("2012-12-2 10:23:23");System.out.println(d);Test2();//层层调用(抛出的异常会传到这里) 使用Alt+回车 抛出异常}public static void Test2()throws FileNotFoundException {//读取文件InputStream is=new FileInputStream("D:/mweijc.png");}
}

PS:也可以不用区分具体是什么异常,直接抛出:Exception

http://www.dtcms.com/wzjs/28032.html

相关文章:

  • 洛阳做网站公司地址学做电商需要多少钱
  • 怎么做自建站新乡搜索引擎优化
  • 百度seo公司报价网站seo优化有哪些方面
  • 网站建设商城制作百度推广咨询
  • 网站规划内容西点培训班一般要多少学费
  • 公众号自己做电影网站吗seo是什么意思seo是什么职位
  • 武汉企业东莞网站seo公司
  • java做网站的好处百度竞价是什么
  • 网站建设基础流程图经典营销案例100例
  • wordpress 禁止删除分类百度seo优化推广公司
  • 建设个人网银登录厦门搜索引擎优化
  • 做网站需要哪些基本功能营销型网站建设的价格
  • 免费英文网站建设谷歌推广seo
  • flash网站与html5外贸营销网站建站
  • 公司网站做好了怎么做排名上海百度关键词推广
  • 贵阳企业网站设计与建设网络推广公司简介
  • seo排名优化软件免费白帽优化关键词排名seo
  • 短视频运营计划书网络seo啥意思
  • 有没有网站做杠杆股票的关键词网络推广企业
  • 网站去除前台验证码seo管理平台
  • 医院手机网站源码狼雨seo网站
  • 青岛做外贸网站建设东莞网站推广的公司
  • 织梦体育网站模板百度小说排行榜前十名
  • 企业网站建设方案如何写十大网站排行榜
  • 大型网站和小企业站优化思路德阳seo
  • 品牌建设运营的最高境界南昌seo排名优化
  • 网站建设的背景及意义品牌公关案例
  • 网站建设都需要什么免费seo工具汇总
  • 文化馆 网站 设计哈尔滨seo优化软件
  • 网站开发搜索功能怎么实现哪里有学电脑培训班