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

关于wordpress更新时无法创建目录沈阳seo排名优化软件

关于wordpress更新时无法创建目录,沈阳seo排名优化软件,有代源码怎么做自己网站,在线看视频网站怎么做的目录 throws异常处理 基本介绍 throws异常处理注意事项和使用细节 自定义异常 基本概念 自定义异常的步骤 throw 和throws的区别 本章作业 第一题 第二题 第三题 第四题 throws异常处理 基本介绍 1)如果一个方法(中的语句执行时)可能生成某种异常,但是…

目录

throws异常处理

基本介绍

throws异常处理注意事项和使用细节

自定义异常

基本概念

自定义异常的步骤

throw 和throws的区别

本章作业

第一题

第二题

第三题

第四题


throws异常处理

基本介绍

1)如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。

2)在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类。

代码演示:

小细节:可以直接使用快捷键alt+Enter

package idea.chapter12.throws_;import java.io.FileInputStream;
import java.io.FileNotFoundException;public class Throws01 {public static void main(String[] args) {}public void f2() throws FileNotFoundException, NullPointerException, ArithmeticException {//这里我们创建了一个文件流对象//1. 这里的异常是一个FileNotFoundException 编译异常//2. 使用前面讲过的 try-catch-finally//3. 使用throws ,抛出异常, 让调用f2方法的调用者(方法)处理//4. throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类  也可以写Exception因为Exception是FileNotFoundException的父类//5. throws 关键字后也可以是 异常列表, 即可以抛出多个异常FileInputStream fis = new FileInputStream("d://aa.txt");}
}

throws异常处理注意事项和使用细节

1)对于编译异常,程序中必须处理,比如 try-catch或者throws

2)对于运行时异常,程序中如果没有处理,默认就是throws的方式处理[举例]

3)子类重写父类的方法时,对抛出异常的规定:子类重写的方法,所抛出的异常类型要么和父类抛出的异常一致,要么为父类抛出的异常的类型的子类型[举例]

4)在throws 过程中,如果有方法try-catch,就相当于处理异常,就可以不必throws

代码演示:

package idea.chapter12.throws_;import java.io.FileInputStream;
import java.io.FileNotFoundException;public class ThrowsDetail {public static void main(String[] args) {f2();}//如果没有try-catch 相当于有默认的一个throws ArithmeticExceptionpublic static void f2() /*throws ArithmeticException*/ {//1.对于编译异常,程序中必须处理,比如 try-catch 或者 throws//2.对于运行时异常,程序中如果没有处理,默认就是throws的方式处理int n1 = 10;int n2 = 0;double res = n1 / n2;}public static void f1() throws FileNotFoundException {//这里调用f3() 报错//1. 因为f3() 方法抛出的是一个编译异常,而f1()调用了f3()因为f3的异常是一个编译异常所以必须要处理//2. 就要f1() 必须处理这个编译异常//3. 在f1() 中,要么 try-catch-finally ,或者继续throws 这个编译异常f3(); // 抛出异常}public static void f3() throws FileNotFoundException {FileInputStream fis = new FileInputStream("d://aa.txt");}public static void f4() {//1. 在f4()中调用方法f5() 是OK//2. 原因是f5() 抛出的是运行时异常//3. 而java中,并不要求程序员显示处理,因为有默认处理机制f5();}public static void f5() throws ArithmeticException {}
}class Father { //父类public void method() throws RuntimeException {}
}class Son extends Father {//子类//3. 子类重写父类的方法时,对抛出异常的规定:子类重写的方法,//   所抛出的异常类型要么和父类抛出的异常一致,要么为父类抛出的异常类型的子类型//4. 在throws 过程中,如果有方法 try-catch , 就相当于处理异常,就可以不必throws@Overridepublic void method() throws ArithmeticException {}
}

自定义异常

基本概念

当程序中出现了某些“错误”,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。

自定义异常的步骤

1)定义类:自定义异常类名(程序员自己写)继承Exception或RuntimeException

2)如果继承Exception,属于编译异常

3)如果继承RuntimeException,属于运行异常(一般来说,继承RuntimeException)

代码演示:

package idea.chapter12.customexception_;/*
自定义异常
当我们接收Person对象年龄时,要求范围在18-120之间,否则抛出一个
自定义异常(要求 继承RuntimeException),并给出提示信息。*/
public class CustomException {public static void main(String[] args) {int age = 90;if (!(age > 18 && age < 120)) {//这里可以用过构造器指定信息throw new a("你输入的年龄有误");}System.out.println("你输入的年龄正确");}
}//自定义一个异常
// 1. 一般情况下,我们自定义异常是继承 RuntimeException
//2. 即把自定义异常做成 运行时异常,好处时,我们可以使用默认的处理机制
class a extends RuntimeException {public a(String message) {super(message);}
}

throw 和throws的区别

意义位置后面跟的东西
throws异常处理的一种方式方法声明处异常类型
throw手动生成异常对象的关键字方法体中异常对象

思路分析:

1.首先我们先调用静态方法methodA() 在该方法中,会先去执行System.out.println("进入方法A");这句话 紧接着我们自己手动制造了一个异常,所以不会继续往下执行,而是先执行finally中的代码然后在执行catch中的代码,当我们制造了一个异常之后,相当于这个方法就会抛出一个异常,会被exception捕获,所以打印出第三局话
2.因为有我们使用了try-catch 处理了,所以程序不会崩溃,会继续往下执行,所以执行methodB()方法,所以会输出第四句话,   System.out.println("进入方法B");因为没有异常,接下来的代码是return 但是因为finally中代码还没有执行,所以不会先去执行return 而是先执行finally中的代码,再去执行return
package idea.chapter12.throws_;public class ThrowException {public static void main(String[] args) {try {ReturnExceptionDemo.methodA();} catch (Exception e) {System.out.println(e.getMessage());}ReturnExceptionDemo.methodB();}
}
/*
思路分析:
1.首先我们先调用静态方法methodA() 在该方法中,会先去执行System.out.println("进入方法A");这句话 紧接着我们自己手动制造了一个异常,所以不会继续往下执行,而是先执行finally中的代码然后在执行catch中的代码,当我们制造了一个异常之后,相当于这个方法就会抛出一个异常,会被exception捕获,所以打印出第三局话
2.因为有我们使用了try-catch 处理了,所以程序不会崩溃,会继续往下执行,所以执行methodB()方法,所以会输出第四句话,   System.out.println("进入方法B");因为没有异常,接下来的代码是return 但是因为finally中代码还没有执行,所以不会先去执行return 而是先执行finally中的代码,再去执行return*/
class ReturnExceptionDemo {static void methodA() {try {System.out.println("进入方法A");//1throw new RuntimeException("制造异常");//3} finally {System.out.println("用A方法的finally");//2  因为finally必须被执行所以优先执行finally 在回去抛出异常}}static void methodB() {try {System.out.println("进入方法B");//4return;} finally {System.out.println("调用B方法的finally");//5}}
}

本章作业

第一题

代码演示:

package idea.chapter12.homework;/*
1.编程题Homework01.java
a)编写应用程序EcmDef.java,接收命令行的两个参数(整数),计算两数相除。
b)计算两个数相除,要求使用方法cal(int n1,int n2)
c)对数据格式不正确、缺少命令行参数、除0进行异常处理。*/
public class Homework01 {public static void main(String[] args) {try {if (args.length != 2) {//先判断个数对不对,如果不对手动抛出异常throw new ArrayIndexOutOfBoundsException("参数个数不对");}int n1 = Integer.parseInt(args[0]);int n2 = Integer.parseInt(args[1]);//因为cal方法可能会抛出多个异常,所以将可能发生的异常都列出来double res = cal(n1, n2);System.out.println("res=" + res);} catch (ArrayIndexOutOfBoundsException e) {throw new RuntimeException(e.getMessage());} catch (NumberFormatException e) {System.out.println("数据格式不对");} catch (ArithmeticException e) {System.out.println("算术异常");}}public static double cal(int n1, int n2) {return n1 / n2;}
}

第二题

思路分析:

1.第一个可能发生的异常是NullPointerException也就是空指针异常,因为如果我们没有给数组任何数组的话,那么就会抛出空指针异常
2.还可能抛出数组下标越界异常ArrayIndexOutOfBoundsException 因为如果数组的长度如果只要2,但是却访问的是4这个元素
3.还会有一个类型转换异常 因为String和Integer没有任何的关系
package idea.chapter12.homework;public class Homework02 {public static void main(String[] args) {/*思路分析:1.第一个可能发生的异常是NullPointerException也就是空指针异常,因为如果我们没有给数组任何数组的话,那么就会抛出空指针异常2.还可能抛出数组下标越界异常ArrayIndexOutOfBoundsException 因为如果数组的长度如果只要2,但是却访问的是4这个元素3.还会有一个类型转换异常 因为String和Integer没有任何的关系*///args.length = 0//这里发生的是 ArrayIndexOutOfBoundsException//如果数组个数为0会发生数组下标越界异常ArrayIndexOutOfBoundsExceptionif (args[4].equals("john")) {  //如果args[4]为空可能发生NullPointerExceptionSystem.out.println("AA");} else {System.out.println("BB");}Object o = args[2]; //String->Object ,向上转型Integer i = (Integer) o; //错误,这里一定会发生 ClassCastException  因为无法把一个String转成Integer  违反了向下转型的规则//**3)要求父类的引用必须指向的是当前目标类型的对象**}
}

第三题

思路分析:

1.程序会先去执行我们的func方法,在该方法中,我们手动的抛出了一个异常,那么相当于我们的func()这个方法有一个异常,就会被catch捕获,但是要注意因为有finally代码块,因为finally是必须执行的,所以会先输出B 然后因为func方法抛出了异常,那么try中的代码就不会继续往下执行,因此A不会输出而且是去执行catch中的代码,执行完后,在执行finally中的代码输出C
2.所以最后输出的结果是,B C D
package idea.chapter12.homework;public class Homework03 {public static void func() {//静态方法try {throw new RuntimeException();} finally {System.out.println("B");}}
/*
思路分析:
1.程序会先去执行我们的func方法,在该方法中,我们手动的抛出了一个异常,那么相当于我们的func()这个方法有一个异常,就会被catch捕获,但是要注意因为有finally代码块,因为finally是必须执行的,所以会先输出B 然后因为func方法抛出了异常,那么try中的代码就不会继续往下执行,因此A不会输出而且是去执行catch中的代码,执行完后,在执行finally中的代码输出C
2.所以最后输出的结果是,B C D*/public static void main(String[] args) {//main方法try {func();System.out.println("A");//因为func方法中发生了异常所以这句话不会执行} catch (Exception e) {System.out.println("C");}System.out.println("D");}
}

第四题

思路分析:

1.首先会去执行我们showExce()方法,因为在该方法中,手动抛出了一个异常,相当于showExce方法有一个异常,就会被catch捕获所以try中的代码就不会继续往下执行,而是去执行catch中的代码输出B 然后执行finally中的代码,执行完finally中代码,在输出D
2.因为我们的程序使用了try-catch处理 ,因此抛出异常后,程序不会直接崩溃
package idea.chapter12.homework;public class Homework04 {public static void main(String[] args) {//main方法try {showExce();System.out.println("A");//因为在showExce()方法中发生了异常所以这句话不会执行} catch (Exception e) {System.out.println("B");} finally {System.out.println("C");}System.out.println("D");}
/*
思路分析:
1.首先会去执行我们showExce()方法,因为在该方法中,手动抛出了一个异常,相当于showExce方法有一个异常,就会被catch捕获所以try中的代码就不会继续往下执行,而是去执行catch中的代码输出B 然后执行finally中的代码,执行完finally中代码,在输出D
2.因为我们的程序使用了try-catch处理 ,因此抛出异常后,程序不会直接崩溃  */public static void showExce() throws Exception {throw new Exception();}}

http://www.hkea.cn/news/286221/

相关文章:

  • 网页设计怎样做一个网页seo软件哪个好
  • 销售性网站建设需求seo案例
  • 企业怎样选择域名做网站电脑突然多了windows优化大师
  • 网站一元空间有哪些呀品牌策划方案范文
  • 最便宜的网站建设企点
  • 网站代码加密深圳新闻今日最新
  • 不要钱做网站软件网站seo优化效果
  • 公司做网站提供产品加盟费互联网销售怎么做
  • 视频网站开发架构百度app最新版本
  • 网站上内容列表怎么做的网站模板中心
  • 上海利恩建设集团有限公司网站国内好用的搜索引擎
  • 网站模板论坛今日重大军事新闻
  • 昆山自适应网站建设电商平台的营销方式
  • 盘龙区网站建设外包高级搜索引擎技巧
  • 什么做的网站吗58百度搜索引擎
  • wordpress 企业站开发口碑营销的概念
  • 广州免费核酸检测点东莞seo项目优化方法
  • 学风建设网站版块设计个人网站
  • 网站底部连接怎么做福州seo推广
  • 生猪价格今日猪价行情关键词优化是什么工作
  • 网站建设公司下载搜索引擎查询
  • 韩国吃秀在哪个网站做直播企业宣传
  • 江西网站建设成都百度
  • 糯米团网站怎么做微信软文范例100字
  • 如何在社交网站上做视频推广seo营销的概念
  • 大连做网站仟亿科技最新域名查询
  • 网站开发实施计划与安排宁波网络推广方式
  • 企业网站建设公司注意哪些问题软件开发外包公司
  • abc网站建设怎么样yandex引擎搜索入口
  • wordpress屏蔽f12广州seo网络优化公司