try

PyCharm异常捕获Warning(try-except)

99封情书 提交于 2020-03-12 12:18:47
  PyCharm更新2018.3.1版本后新加了一些检测,例如在使用如下的 Try except : try: ... except Exception as e: ...   上述代码会报如下的警告: Too broad exception clause less... (Ctrl+F1) Inspection info: This inspection highlights too broad exception clauses such as no exception class specified, or specified as 'Exception'.   翻译解释一下就是 Exception 没有指定错误类型,捕获的异常过于宽泛,没有针对性,可以通过指定精确的异常类型来解决。 解决方法:   在 try 前面加上如下注释: # noinspection PyBroadException   示例: # noinspection PyBroadException try: response = requests.post(url=sys.argv[1], data=eval(sys.argv[2])) with open("./post.temp", "w") as temp: temp.write(response.text) except Exception as

从数据库导出数据到word、excel、.txt

混江龙づ霸主 提交于 2020-03-12 09:22:17
以下是我最近写的一些关于从数据库导出数据到 word 、 excel 、 .txt 文本文件的代码,转自 http://martinyang2010.bokee.com/2598999.html using System; using System.Data; using System.Drawing; using System.Data.SqlClient; using Excel; using Word; using System.IO; namespace Common { /**/ /// <summary> /// 把数据导入到.doc、.txt、.xls文件中 /// </summary> public class Export { private const string DATAWORDPATH = @" C:\folder\doc\datadoc\ " ; private const string IMAGEWORDPATH = @" C:\folder\doc\imagedoc\ " ; private const string IMAGEPATH = @" C:\folder\image\ " ; private const string EXCELPATH = @" C:\folder\excel\ " ; private const string

try catch finally执行顺序测试

流过昼夜 提交于 2020-03-12 09:02:43
结论: 常量类型 finally 中没有 renturn 不会影响返回值. finally 中有 renturn 会影响返回值. 可见引用类型时finally有没有return都会对当前方法的返回值产生影响. ================================================ 1. finally 中没有return public class Main { private static int a=2; public static void main(String[] args) { System.out.println("test输出的结果 "+test()); System.out.println("main 自加后 a="+(a++)); } private static int test(){ try { a+=3; System.out.println("try a="+a); return a; }catch (Exception e){ }finally { ++a; System.out.println("finally a="+a); } return 0; } } ============================================== try a=5 finally a=6 test输出的结果 5 main

Java多线程(八)——join()

这一生的挚爱 提交于 2020-03-12 04:01:31
一、join()介绍 join() 定义在Thread.java中。 join() 的作用: 让“主线程”等待“子线程”结束之后才能继续运行。 这句话可能有点晦涩,我们还是通过例子去理解: // 主线程 public class Father extends Thread { public void run() { Son s = new Son(); s.start(); s.join(); ... } } // 子线程 public class Son extends Thread { public void run() { ... } } 说明 : 上面的有两个类Father(主线程类)和Son(子线程类)。因为Son是在Father中创建并启动的,所以,Father是主线程类,Son是子线程类。 在Father主线程中,通过new Son()新建“子线程s”。接着通过s.start()启动“子线程s”,并且调用s.join()。 在调用s.join()之后,Father主线程会一直等待,直到“子线程s”运行完毕;在“子线程s”运行完毕之后,Father主线程才能接着运行。 这也就是我们所说的“join()的作用,是让主线程会等待子线程结束之后才能继续运行”! 二、join()源码分析 public final void join() throws

阶段测试练习

こ雲淡風輕ζ 提交于 2020-03-11 20:40:38
1 import java.util.Scanner; 2 /** 3 * @author Administrator 4 * 从控制台输入字符串,将之全部替换成*号输出 5 */ 6 public class test1 { 7 static Scanner input = new Scanner(System.in); 8 public static void main(String[] args) { 9 System.out.println("请输入英文字符:"); 10 String str = input.next(); 11 StringBuffer sb = new StringBuffer(str); 12 for(int i = 0;i<sb.length();i++) { 13 sb.replace(i, i+1, "*"); 14 } 15 System.out.println("替换后的字符串为:\n"+sb); 16 } 17 } 1、从控制台输入字符串,将之全部替换成*号输出 1 import java.util.Scanner; 2 3 /** 4 * @author Administrator 5 * 截取一段字符串中的数字 6 */ 7 public class Test2 { 8 static Scanner input = new

异常的基本概念

徘徊边缘 提交于 2020-03-11 18:59:02
目标: 1)异常基本概念, 2)处理异常基本格式 3)异常继承结构 4)掌握JAVA异常处理机制。 具体内容 异常:导致程序中断的一种指令流。 public class ExceptionDemo01{ public static void main(String args[]){ System.out.println("********** 计算开始 ***********") ; int i = 10 ; // 定义整型变量 int j = 0 ; // 定义整型变量 int temp = i / j ; // 此处产生了异常 System.out.println("两个数字相除的结果:" + temp) ; System.out.println("********** 计算结束 ***********") ; } }; 产生异常: ********** 计算开始 *********** Exception in thread "main" java.lang.ArithmeticException: / by zero at methoud.ThisDemo06.main(ThisDemo06.java:8) 处理异常 每当异常产生,会在程序中产生一个异常化的实例化对象,之后使用此对象与catch中的异常类型相互匹配, 如果匹配成功,则执行catch语句中内容,如果匹配不成功

finally和return的执行顺序/在finally块中修改变量值的影响

南楼画角 提交于 2020-03-11 12:10:23
1、try块中有return时,finally块依旧可以执行 public static int test1() { try { return 1; } finally { System.out.println("try中有return时,finally块依旧可以执行,且在return之前执行"); } } 执行结果: 2、catch块中有return时,finally依旧可以执行 public static int test2() { try { //此处制造异常 int a = 1 / 0; return 1; } catch (Exception e) { return 2; } finally { System.out.println("catch中有return时,finally块依旧可以执行,且在return之前执行"); } } 执行结果: 3、finally中也有return时,会直接返回,此时忽略try/catch中的return public static int test3() { try { //此处制造异常 int a = 1 / 0; return 1; } catch (Exception e) { return 2; } finally { System.out.println("执行finally的return"); return 3; } }

android之WIFI小车编程详述

纵饮孤独 提交于 2020-03-11 01:45:32
有了前几篇wifi模块eps8266的使用,单片机设置eps8266程序,android TCP客户端,现在就做一个wifi小车 先上图 小车是四个轮子的,每个轮子上都有电机驱动,前进后退的时候四个轮子同时前进和后退,转弯的时候,小车两边的轮子按反方向转。 为了达到更好的操作效果(一直按下前进,小车前进,按下左右转小车左右转,松开左右转,小车继续前进。松开前进,小车停止。后退同理),在单片机程序里加入了前进或后退的标志位。先说明一下,,,,,, 按下前进向单片机发送‘0’,按下后退向单片机发送‘1’,按下左转向单片机发送‘2’,按下右转向单片机发送‘3’,松开前进或后退向单片机发送‘5’,松开左转或右转向单片机发送‘6’,这样子发数据也是为了获得更好的操作体验 前进 后退 左转 右转按钮是使用的setOnTouchListener方法,以便在按钮按下或松开时发送数据, 就看一下前进代码 我在前面声明了一下 //前进, 关于OnTouchListener的使用,,找度娘,我也是找的度娘,不要偷懒呦 //前进 private OnTouchListener forwordButtonTouch = new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO

第二十三天异常处理

独自空忆成欢 提交于 2020-03-10 19:51:33
文章目录 异常处理 1. 异常处理 1.1 try-except语句 1.3 抛出异常 1.4 异常嵌套 1.5 assert断⾔ 内建异常类的层次 作业 异常处理 1. 异常处理 错误指的是代码有语法问题,⽆法解释运⾏,必须改正后才能运⾏ 如果代码没有语法问题,可以运⾏,但会出运⾏时的错误,例如除零错误,下标越 界等问题,这种在运⾏期间检测到的错误被称为异常 ,出现了异常必须处理否则 程序会终⽌执⾏,⽤户体验会很差。Phthon⽀持程序员⾃⼰处理检测到的异常。 可以使⽤try-except语句进⾏异常的检测和处理 1.1 try-except语句 语法: try : 【代码块A】 #可能会出错误的代码 异常检测 except Exception1 [ as e ] : #异常处理 【代码块 1 】 #异常处理代码 except Exception2 [ as e ] : #异常处理 【代码块 2 】 #异常处理代码 . . . . except Exceptionn [ as e ] : #异常处理 【代码块n】 #异常处理代码 [ else : ] #可选,如果没有引发异常会执⾏ 处理语句 [ finally : ] #⽆论如何都要执⾏的语句 处理语句 【后续语句】 执⾏流程: 1、⾸先执⾏try中【代码块A】,如果出现异常,⽴即终⽌代码执⾏,转⽽到except块中进⾏异常处理

IO Unix IO BIO AIO NIO

走远了吗. 提交于 2020-03-10 12:57:08
IO: io流分为 字符 和 字节 两种,其实比较好认,一般字节的都是Stream结尾,字符的是Reader或Writer结尾,字符和字节转换用InputStreamReader 字符的用于读取纯文本格式,一次读一个字符,比如utf-8三个字节 字节用来读取二进制文件等,那种人看不懂的,包括图片 视频等 再者就是io流使用了典型的装饰者模式,等等我去偷张图,侵删。 可以清晰的看出FilterInputStream就是装饰者,再不改变原有类的情况下,下面三个Data/Buffered/PushbackInputStream附加实现了不同的功能,比如BufferedInputStream实现了缓冲的功能,如果想深入了解,个人建议去看 https://www.jianshu.com/p/4a530a3c70af 。 具体使用来个例子吧清晰一点: 复制文件 FileInputStream in = new FileInputStream(src); FileOutputStream out = new FileOutputStream(dist); byte [] buffer = new byte [ 1024 ]; // read() 最多读取 buffer.length 个字节 返回的是实际读取的个数 返回 -1 的时候表示读到 eof,即文件尾 while (in.read