throws

20182327 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结

ⅰ亾dé卋堺 提交于 2019-12-01 10:07:55
20182327 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结 教材学习内容总结 1、多态与后绑定:多态是指一个引用变量在不同时刻指向不同对象。多态实现的基础是后绑定(late/dynamic binding) 多态存在的三个必要条件 继承 重写:是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都无法改变。 2、.接口:一组抽象方法。接口可以多重继承。 3、接口实现多态:接口名可用来声明引用变量。调用接口变量时只能调用接口中定义的方法,因为编译器只能判定对象是接口类的,子类自定义的方法无法响应。 4、异常与异常处理: 异常是一个对象,与错误类似。异常能被抛出、捕获,必要时进行处理。 异常处理三种方式: 不处理:程序非正常终止,打印错误信息和调用栈跟踪 在异常产生的地方处理:捕捉异常-try catch 在程序的其他地方处理:抛出异常-throws throw 5、I/O异常(其中还有老师上课讲的把数据写入文本,和从文本中读取数据内容) 三种标准I/O流(in、out、err) 可检测的IOExceptions异常 教材学习中的问题和解决过程 问题1:throws和throw关键字有什么区别? 解答: 1、使用throws声明的方法表示此方法不处理异常,而由系统自动将所捕获的异常信息“抛给”上级调用方法。使用throws声明能实例化异常类对象

Java 读取网络资源文件 获取文件大小

与世无争的帅哥 提交于 2019-12-01 10:01:16
Java 读取网络资源文件 获取文件大小 封装一个文件操作工具类: package c; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; /** * @author Jayvee * @Description: todo 文件操作 */ public class FileUtils { /** * @author Jayvee * @Description: todo 获取网络文件的大小 */ public static int getFileLength(String url1) throws IOException { int length = 0; URL url; try { url = new URL(url1); HttpURLConnection urlcon = (HttpURLConnection) url.openConnection(); //根据响应获取文件大小 length = urlcon.getContentLength(); urlcon.disconnect(); } catch (MalformedURLException e) { // TODO Auto

Java checked 异常 和 RuntimeException

余生长醉 提交于 2019-12-01 07:08:58
RuntimeException RuntimeException是非常特殊的子类,你可以不用throw和throws。 哪怕你throw了,也没必要thtows,即使你throws了,调用者也没必要try-catch。 之所以不用在函数上声明,是因为不需要让调用者处理,当该异常发生,希望程序停止, 因为在运行时,出现了无法继续运算的情况,希望程序停止后由程序员对代码进行修正。 自定义异常时,如果该异常的发生,无法继续进行运行,就让自定义异常类继承RuntimeException 运行时异常和ckecked异常的区别 对于异常分两种:检查异常和非检查异常(运行时异常) 检查异常 : 编译时被检测的异常(throw后,方法有能力处理就try-catch处理,没能力处理就必须throws)。 运行时异常 : 编译时不被检查的异常(运行时异常。RuntimeException及其子类)。 1、机制上 主要表现在以下两个方面 : (1)如何定义方法 (2)如何处理抛出的异常 运行时异常: 不需要用 throws 声明抛出异常对象所属类,也可以不用 throw 抛出异常对象或异常引用。 对于调用该方法,也不需要放于 try-catch 代码块中。 (如果你捕获它,就会冒这么一个风险:程序代码错误被掩盖在运行中无法察觉) 检查异常: 一旦 用throw 抛出异常,如果当前方法可处理异常

20182311 2019-2020-1 《数据结构与面向对象程序设计》第6周学习总结

梦想与她 提交于 2019-12-01 07:07:08
目录 教材学习内容总结 教材第九章 教材第十章 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评过的同学博客和代码 感悟 学习进度条 参考资料 正文 20182311 2019-2020-1 《数据结构与面向对象程序设计》第6周学习总结 教材学习内容总结 教材第九章 1.多态与后绑定:多态是指一个引用变量在不同时刻指向不同对象。多态实现的基础是后绑定(late/dynamic binding),即运行时才确定对象和方法。对象的类型,而不是引用的类型决定绑定哪个方法。 2.通过继承实现多态:指向某个类的引用变量,可以指向这个类及继承于他的任意子类的任何对象。可以把父类对象赋给子类引用,但需要进行显示转换(类型强转),而且可能出现问题。 3.接口:一组抽象方法。接口可以多重继承。 4.接口实现多态:接口名可用来声明引用变量。调用接口变量时只能调用接口中定义的方法,因为编译器只能判定对象是接口类的,子类自定义的方法无法响应。 教材第十章 1.异常与异常处理: 异常是一个对象,与错误类似。异常能被抛出、捕获,必要时进行处理。 异常处理三种方式: 不处理:程序非正常终止,打印错误信息和调用栈跟踪 在异常产生的地方处理:捕捉异常-try catch 在程序的其他地方处理:抛出异常-throws throw 2.try catch语句:

Java自学-异常处理 处理

試著忘記壹切 提交于 2019-12-01 06:40:12
Java的异常处理办法 try catch throws 异常处理常见手段: try catch finally throws 步骤 1 : try catch 1.将可能抛出FileNotFoundException 文件不存在异常 的代码放在try里 2.如果文件存在,就会顺序往下执行,并且不执行catch块中的代码 如果文件不存在,try 里的代码会立即终止,程序流程会运行到对应的catch块中 e.printStackTrace(); 会打印出方法的调用痕迹,如此例,会打印出异常开始于TestException的第16行,这样就便于定位和分析到底哪里出了异常 package exception; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class TestException { public static void main(String[] args) { File f= new File("d:/LOL.exe"); try{ System.out.println("试图打开 d:/LOL.exe"); new FileInputStream(f); System.out.println("成功打开"); }

Java基础学习(七) - 异常处理

穿精又带淫゛_ 提交于 2019-12-01 05:31:05
1.异常概念 异常指的是程序在执行过程中出现的非正常的情况,导致JVM的非正常停止。在Java中,异常是一个类,产生异常就是创建异常对象并抛出一个异常对象。 异常指的并不是语法错误,语法错误,编译不会通过,而是编译通过后,程序执行异常。 异常的作用是帮助我们找到程序中的问题。 2.异常产生过程解析 public class TestException { public static void main(String[] args){ int[] arr = {1,2,3}; System.out.println(arr[3]); } } 运行过程解析: 在 arr 数组中提取索引 3,由于数组没有索引3,导致了运行异常,JVM对这个异常做了识别,并抛出异常给 main 方法。 由于 main 方法并没有异常处理,main 方法又把异常返回给 JVM。 JVM 收到异常后,打印异常详细信息到控制台,同时中断程序。 3.异常类 java.lang.Throwable 是异常的根类。 Throwable 体系: java.lang.Error:严重错误,不在我们处理范围内。 java.lang.Exception:平时所说的异常是此类。我们可以通过修改代码纠正错误,使程序能正常运行。异常又分为checked异常(编译异常)和runtime异常(运行异常)。 Throwable 常用方法:

java异常

ぐ巨炮叔叔 提交于 2019-11-30 09:03:47
在程序中,错误可能产生于程序员没有预料到的各种情况,或者超出程序员可控范围的环境,例如用户的坏数据、试图打开一个不存在的文件等。为了能够及时有效地处理程序中的运行错误,Java 专门引入了异常类。 Java 中处理异常有两种方式:捕获异常、声明抛出异常。 捕获异常,就地解决,并使程序继续执行。 声明抛出异常也就是将异常向外转移,即将异常抛出方法之外,由调用该方法的环境去处理。 java异常处理通常记牢这五个关键字: try catch finally throw throws 一个try块对应一个或者多个catch块 try: 注意:1 ) 如果当前try块中存在多条可能会发生异常的代码A,B C 三条语句 如果A发生异常,此时B,C语句不会被执行到。 2)try块尽量避免嵌套 catch -> 尽量避免过细划分异常 捕获异常的顺序跟catch语句有关,当捕获到一个异常时,剩下的catch语句就不进行捕获,所以先安排子类,再安排父类 注意:1)catch(NullPointerException){ //先用关心的子类处理,不关心的直接用父类处理 finally: 特点是:1)无论是否发生异常必定会被执行到 2) 如果try块里面包含 return;并且finally块也包含return; 从finally块return退出 如果try块里面含有退出System.exit()

Swift throw from closure nested in a function

僤鯓⒐⒋嵵緔 提交于 2019-11-30 08:12:31
I have a function that throws an error, in this function I have a inside a closure that I need to throw the error from it's completion handler. Is that possible ? Here is my code so far. enum CalendarEventError: ErrorType { case UnAuthorized case AccessDenied case Failed } func insertEventToDefaultCalendar(event :EKEvent) throws { let eventStore = EKEventStore() switch EKEventStore.authorizationStatusForEntityType(.Event) { case .Authorized: do { try insertEvent(eventStore, event: event) } catch { throw CalendarEventError.Failed } case .Denied: throw CalendarEventError.AccessDenied case

Java异常处理

会有一股神秘感。 提交于 2019-11-30 04:33:59
异常 Java异常的理解: 在程序中异常的意思就是:在程序执行的过程中,出现的非正常的情况,最终导致jvm的非正常停止。异常本身就是一个类,产生异常就创建类对象并抛出了一个异常对象,Java处理异常的方式就是中断异常。需要注意的是异常指的并不是语法错误,语法错了,编译就不能通过,不会产生字节码文件,更不能运行。 常出现的异常 NullPointerException 空指针异常 ArithmeticException 算数计算异常,如除数为0的情况 ArrayIndexOutOfBoundsException 数组下标越界 ClassCastException 类型强转异常 IllegalArgumentException 参数非法 ClassNotFoundException 在编译时无法找到指定的类 BufferOverflowException 缓存溢出 try…catch… 注意点 一个try块可以对应多个catch块 对不关心的异常采用Expection去接收 先处理子类,再处理父类,子类异常要在父类异常前面 假设有ABC三个异常,若A发生异常,不会执行BC try块尽量避免嵌套 例: public static void main ( String [ ] args ) { int [ ] arr = { 0 } ; People p = null ; try {