try

JAVA基础_IO流

﹥>﹥吖頭↗ 提交于 2020-02-06 03:15:51
字符流和字节流: 字节流的两个基类: InputStream,OutputStream 字符流两个基类: Reader,Writer ··字符流的Writer: import java.io.FileWriter; import java.io.IOException; public class FileWriterDemo01 { public static void main(String[] args) throws IOException { //创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。 //而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被覆盖。 //其实该步骤就是明确数据要存放的目的地。 FileWriter fw = new FileWriter("demo.txt"); //调用write方法,将字符串写入流中。 fw.write("abcde"); //刷新流对象中的缓冲中的数据 //将数据存入到目的地中。 //fw.flush(); //关闭流资源,关闭之前会刷新一次内部的缓冲中的数据。将数据刷到目的地。 //和flush区别;flush刷新后,流可以继续使用,close刷新后,会将流关闭。 fw.close(); } } IO异常的处理方式: public class IOExceptionDemo {

Python3 错误和异常

一曲冷凌霜 提交于 2020-02-06 02:56:50
Python 有两种错误很容易辨认:语法错误和异常。 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。 异常处理 try/except 异常捕捉可以使用 try/except 语句 try 语句按照如下方式工作: 首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句) 如果没有异常发生,忽略 except 子句,try 子句执行后结束 如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行 如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中 一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行 处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常 一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组: except ( RuntimeError , TypeError , NameError ) : pass 最后一个except子句可以忽略异常的名称,它将被当作通配符使用。你可以使用这种方法打印一个错误信息,然后再次把异常抛出。 try

sharedpreface:

点点圈 提交于 2020-02-06 02:37:37
1.引入相关依赖: 2.common: public class SnowFlakeIDGenerator { private static SnowFlake snowFlake = null; private static long workid = 5; private static long datacenterId = 31; static{ snowFlake = new SnowFlake(workid,datacenterId); } public static void main(String[] args) { System.out.println("snoflake:"+generateSnowFlakeId()); } /** * 雪花算法ID生成,全局唯一 * @return * long id */ public final static long generateSnowFlakeId(){ return snowFlake.nextId(); } static class SnowFlake{ // 时间起始标记点,作为基准,一般取系统的最近时间(一旦确定不能变动) private final static long twepoch = 1288834974657L; // 机器标识位数 private final static long

学习笔记-异常处理

怎甘沉沦 提交于 2020-02-06 00:46:47
错误和异常 错误 逻辑错误 语法错误 异常 语法上正确的,但在尝试执行时,可能会引发严重错误。 >>> 1/0 Traceback (most recent call last): File "<pyshell#20>", line 1, in <module> 1/0 ZeroDivisionError: division by zero 常见内置异常: NameError 尝试访问没有声明的变量 ZeroDivisionError 除数(分母)为0 IndexError 索引超出序列范围 IOError 输入/输出错误 AttributeError 尝试访问未知的对象属性 其他可见 官方文档 : https://docs.python.org/3/library/exceptions.html#OSError 异常处理语句 try … except … try : ( do samething ) except [ tuple of Exception ] : #异常类型可以写多个,也可以省略 ( do samething ) else 子句 图片来源: https://www.runoob.com/python3/python3-errors-execptions.html >>> b 'ABC' #try 语句执行失败后被except 捕获 >>> try : b.ind(

python 异常处理

孤街醉人 提交于 2020-02-05 21:28:27
''''''#print(3 / 0)#需求:当程序遇到问题时不让程序结束,而越过错误继续向下执行'''try……except……else格式:try: 语句texcept 错误码 as e: 语句1except 错误码 as e: 语句2……except 错误码 as e: 语句nelse: 语句e注意:else语句可有可无作用:用来检测try语句块中的错误,从而让except语句捕获错误信息并处理逻辑:当程序执行到try-except-else语句时1、如果当try“语句t”执行出现错误,会匹配第一个错误码,如果匹配上就执行对应"语句"2、如果当try“语句t”执行出现错误,没有匹配的异常,错误将会被提交到上一层的try语句。或者到程序的最上层3、如果当try“语句t”执行没有出现错误,执行else下的“语句e”(你得有)'''try: print(3 / 1)except NameError as e: print("没有该变量")except ZeroDivisionError as e: print("除数为0了")else: print("代码没有问题")print("*************")#使用except而不使用任何的错误类型try: #print(4 / 0) print(num)except: print("程序出现了异常")

python基础8.0:程序异常处理

﹥>﹥吖頭↗ 提交于 2020-02-05 13:22:35
解释器触发异常try: pass #代码块,逻辑except Exception as e: #e是Exception对象,对象中封装了错误信息 #上述代码块如果出错,自动执行当前块内容 while True: try: inp = input('请输入数字:') i = int(inp) except Exception as e: print(e) i = 1 print(i) try: int('e') except IndexError as e: print('indexerror',e) except ValueError as e: print('valueerror',e) except Exception as e: print('不清楚是什么错误:',e) else: #没有触发错误执行 print('??') finally: #始终执行 print('....') 主动触发异常 try: #主动出发异常 raise Exception('主动抛出异常') except Exception as e: print(e) 自定义异常 #自定义异常 class oldboyerror(Exception): def __init__(self,mag): self.massge = mag def __str__(self): return self.massge

Thinking in java Chapter21 并发

我与影子孤独终老i 提交于 2020-02-05 12:18:01
1 并发的多面性 1.1 更快的执行 1.2 改进代码设计 2 基本的线程机制 2.1 定义任务 2.2 Thread类 2.3 使用Executor 2.4 从任务中产生返回值 2.5 休眠 2.6 优先级 2.7 让步 2.8 后台线程 2.9 编码的变体 2.10 术语 2.11 加入一个线程 2.12 创建一个有响应的用户界面 2.13 线程组 2.14 捕获异常 3 共享受限资源 3.1 不正确地访问资源 3.2 解决共享资源竞争 3.3 原子性与易变性 3.4 原子类 3.5 临界区 3.6 在其他对象上同步 3.7 线程本地存储 4 终结任务 4.1 装饰性花园 4.2 在阻塞时终结 4.3 中断 4.4 检查中断 5 线程之间的协作 5.1 wait() 和 notifyAll() 5.2 notify()和 notifyAll() 5.3 生产者与消费者 6 死锁 7 新类库中的构建 8 仿真 9 性能调优 9.1 比较各类互斥技术 9.2 免锁容器 9.3 乐观加锁 9.4 ReadWriteLock 10 活动对象 11 总结 1 并发的多面性 1.1 更快的执行 1.2 改进代码设计 2 基本的线程机制 2.1 定义任务 实现Runnable接口,编写run方法 package concurrency; public class LiftOff

c++11 异常处理

冷暖自知 提交于 2020-02-05 06:17:32
概要 异常是程序执行期产生问题,比如尝试除以零的操作。 异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字: try 、 catch 、 throw 。 throw: 当问题出现,程序通过throw抛出一个异常。 catch: 在你想要处理问题的地方,通过异常处理程序捕获异常。 try: try 块中的代码标识将被激活的特定异常。它后面允许跟着一个或多个 catch 块。 使用 try/catch 语句的语法: try { // 保护代码 } catch( ExceptionName e1 ) { // catch 块 } catch( ExceptionName e2 ) { // catch 块 } catch( ExceptionName eN ) { // catch 块 } 如果 try 块在不同场景抛出不同异常,此时可尝试罗列多个 catch 语句,用于捕获不同类型异常。 抛出异常 使用 throw 语句在代码块中任何位置抛出异常。throw 语句的操作数可以是任意表达式,表达式的结果类型决定了抛出异常的类型。 示例: double division(int a, int b) { if( b == 0 ) { throw "Division by zero condition!"; } return (a/b); } 捕获异常 catch 块跟在

11异常处理

让人想犯罪 __ 提交于 2020-02-05 05:22:33
基础知识 1、异常是一种Exception类型的对象( 异常是一种对象 )   因为异常是对象,所以你catch住的也是对象,下面程序代码中catch的参数是Exception类型的ex引用变量 try { } catch(Exception ex) { //Exception类型的对象可以是任何它的子类的实例 //尝试恢复 } 2、如果你的程序代码会抓住异常,那是谁把它抛出来的? //有风险、会抛出异常的代码public void takeRisk() throws BadException {//必须声明它会抛出BadException if(abandonAllHope) { throw new BadException();//创建Exception对象并抛出 } } //调用该方法的程序代码 public coid crossFingers() { try { anObject.takeRisk(); } catch(BadException ae) { System.out.println("Aaargh"); ex.printStackTrace();//如果无法从异常中恢复,至少也要使用printStackTrace()来列出有用的信息 } } 举例: public class Test { int age; public void getAge(int age)

Indy文件断点续传代码

寵の児 提交于 2020-02-05 02:30:40
function TFrmFileManageCard.UpLoadFileBreak(SourseFileName, DestFileName: String): Integer; var upsize:int64; IDFTP:TidFtp; LSourceStream: TFileStream; LSourceStreamA:TMemoryStream; begin Result:=-1; if Application.MessageBox('文件上传失败,是否断点续传?','提示!',MB_YESNO)<>ID_YES then begin Exit; end; try try IDFTP:=TidFtp.Create(Nil); LSourceStream := TFileStream.Create(SourseFileName, fmOpenRead or fmShareDenyNone); IdFTP.Abort; IdFTP.Host:=FTPHTTPControl.CUR_C_FTPSERVER; IdFTP.Port:=FTPHTTPControl.CUR_I_FTPPORT; IdFTP.Username:=FTPHTTPControl.CUR_C_FTPUSER; IdFTP.Password:=FTPHTTPControl.CUR_C_FTPPWS;