try

Python基础--异常

家住魔仙堡 提交于 2020-03-02 08:45:09
异常 当Python程序执行时遭遇到错误,解释器将无法继续往下执行,此时会出现错误提示,这便是异常。 例如打开一个不存在的文件 使用一个没有定义的变量 捕获异常 try-except   将可能出现问题的代码,放在try中,把处理异常的代码放在except中。 try: open("www.txt",'r') except FileNotFoundError: print("--------处理异常-------") print("您打开的文件不存在") 输出: --------处理异常------- 您打开的文件不存在   当我们需要捕获多个异常时,可以将要捕获异常的名字放在一个元组中。except之后使用Exception将捕获所有异常,有时我们希望存储捕获的异常可以使用as。 try: open("www.txt",'r') print(num) except (FileNotFoundError,NameError) as exceptionInfo: print("--------处理异常-------") print("您打开的文件不存在") print("异常的基本信息:",exceptionInfo) 输出: --------处理异常------- 您打开的文件不存在 异常的基本信息: [Errno 2] No such file or directory:

Spring的事务管理入门:编程式事务管理(TransactionTemplate)!!!

自作多情 提交于 2020-03-02 00:57:54
转载 自 http://blog.csdn.net/zq9017197/article/details/6321391 Spring可以支持编程式事务和声明式事务。 Spring使用事务管理器,每个不同平台的事务管理器都实现了接口:PlatformTransactionManager 此接口是事务管理的核心,提供了三个需要实现的函数: [java] view plain copy print ? commit(TransactionStatus status) ; getTransaction(TransactionDefinition definition) ; rollback(TransactionStatus status) ; 如果我们使用的是JDBC来处理事务,那么这个事务管理器就是DataSourceTransactionManager。 通过Spring文档查找到这个类,发现其需要DataSource这个类。也就是只要实现了javax.sql.DataSource这个接口的类,都可以作为参数传入到DataSourceTransactionManager。 然后,找到 包org.springframework.transaction.support中的 TransactionTemplate。 发现TransactionTemplate中有一个重要的方法: [java

Python--Requests and BeautifulSoup and re

有些话、适合烂在心里 提交于 2020-03-02 00:56:32
基础练习与理解 视频资料 import requests from bs4 import BeautifulSoup #BeautifulSoup是一个类 r = requests.get("https://editor.csdn.net/md") # print(r.text) demo = r.text soup = BeautifulSoup(demo , "html.parser") #HTML解析器 print(soup.prettify()) #BeautifulSoup库是解析、遍历、维护标签树的功能库 #<p class="title">...</p> :p是名字,前后都有,表示范围, class:表示ta的属性 #文档与标签树(BeautifulSoup类)一一对应 #Tag:标签 #Name:<tag>.name #Attribution:name的属性 import requests from bs4 import BeautifulSoup #BeautifulSoup是一个类 r = requests.get("https://editor.csdn.net/md") # print(r.text) demo = r.text soup = BeautifulSoup(demo,"html.parser") print(soup.title.name)

Python: try finally 与 上下文管理器简介

允我心安 提交于 2020-03-01 23:47:32
用 Python 做一件很平常的事情: 打开文件, 逐行读入, 最后关掉文件; 进一步的需求是, 这也许是程序中一个可选的功能, 如果有任何问题, 比如文件无法打开, 或是读取出错, 那么在函数内需要捕获所有异常, 输出一行警告并退出. 代码可能一开始看起来是这样的 def read_file(): try: f = open('yui', 'r') print ''.join(f.readlines()) except: print 'error occurs while reading file' finally: f.close() 不过这显然无法运作, 因为 f 是在 try 块中定义的, 而在 finally 中无法引用. 如果将 f 提取到 try 块外部, 如 def read_file(): f = open('azusa', 'r') try: print ''.join(f.readlines()) except: print 'error occurs while reading file' finally: f.close() 那么, 问题在于当打开文件失败, 抛出异常将不会被捕获. 挫一点的方法自然是, 再套一层 try 吧 def read_file(): try: f = open('sawako', 'r') try: print ''.join(f

thinkphp获取mysql错误

人走茶凉 提交于 2020-03-01 21:42:55
最近用thinkphp时发现无法捕获mysql的错误信息,例如向表中插入一个主键 重复的数据时,程序便卡在那条语句上,就像下面这样 :( SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY' 错误位置 FILE: D:\*****\ThinkPHP\Library\Think\Db\Driver.class.php  LINE: 226 TRACE #0 D:\*****\ThinkPHP\Library\Think\Db\Driver.class.php(226): PDOStatement->execute() 在代码中 使用try catch 无效,最后修改 Driver.class.php文件 中169行和226行的 $result = $this->PDOStatement->execute(); 修改为 try { //lighthouse $result = $this -> PDOStatement ->execute() ; } catch (\PDOException $e ) { echo 'queryStr=' . $this -> queryStr . '<br/>' ; print "Error: " . $e -

C++异常处理(throw try catch)

試著忘記壹切 提交于 2020-03-01 16:37:11
本篇转自 http://c.biancheng.net/view/422.html 程序运行时常会碰到一些异常情况,例如: 做除法的时候除数为 0; 用户输入年龄时输入了一个负数; 用 new 运算符动态分配空间时,空间不够导致无法分配; 访问数组元素时,下标越界;打开文件读取时,文件不存在。 这些异常情况,如果不能发现并加以处理,很可能会导致程序崩溃。 所谓“处理”,可以是给出错误提示信息,然后让程序沿一条不会出错的路径继续执行;也可能是不得不结束程序,但在结束前做一些必要的工作,如将内存中的数据写入文件、关闭打开的文件、释放动态分配的内存空间等。 一发现异常情况就立即处理未必妥当,因为在一个函数执行过程中发生的异常,在有的情况下由该函数的调用者决定如何处理更加合适。尤其像库函数这类提供给程序员调用,用以完成与具体应用无关的通用功能的函数,执行过程中贸然对异常进行处理,未必符合调用它的程序的需要。 此外,将异常分散在各处进行处理不利于代码的维护,尤其是对于在不同地方发生的同一种异常,都要编写相同的处理代码也是一种不必要的重复和冗余。如果能在发生各种异常时让程序都执行到同一个地方,这个地方能够对异常进行集中处理,则程序就会更容易编写、维护。 鉴于上述原因,C++ 引入了异常处理机制。其基本思想是:函数 A 在执行过程中发现异常时可以不加处理,而只是“拋出一个异常”给 A 的调用者

android app申请root权限

耗尽温柔 提交于 2020-03-01 12:46:17
android app申请root权限 public static boolean upgradeRootPermission ( String pkgCodePath ) { Process process = null ; DataOutputStream os = null ; try { String cmd = "chmod 777 " + pkgCodePath ; process = Runtime . getRuntime ( ) . exec ( "su" ) ; //切换到root帐号 os = new DataOutputStream ( process . getOutputStream ( ) ) ; os . writeBytes ( cmd + "\n" ) ; os . writeBytes ( "exit\n" ) ; os . flush ( ) ; process . waitFor ( ) ; } catch ( Exception e ) { return false ; } finally { try { if ( os != null ) { os . close ( ) ; } process . destroy ( ) ; } catch ( Exception e ) { } } return true ; } 来源: CSDN

3.手机是否存在验证接口

与世无争的帅哥 提交于 2020-03-01 10:56:07
后台 urls.py path('mobile/', views.MobileViewSet.as_view({'post': 'check'})), views.py # 手机是否存在接口 import re class MobileViewSet(ViewSet): def check(self, request, *args, **kwargs): mobile = request.data.get('mobile', None) if not mobile: return APIResponse(1, 'mobile field required') if not re.match(r'^1[3-9][0-9]{9}$', mobile): return APIResponse(1, 'mobile field error') try: models.User.objects.get(mobile=mobile) return APIResponse(result=True) # 手机号存在 except: return APIResponse(result=False) # 手机号不存在 来源: https://www.cnblogs.com/kai-/p/12388519.html

三个线程按顺序打印分别打印ABC

我只是一个虾纸丫 提交于 2020-03-01 09:33:20
public static Lock lock = new ReentrantLock(); public static int count = 1; public static Condition condition1 = lock.newCondition(); public static Condition condition2 = lock.newCondition(); public static Condition condition3 = lock.newCondition(); public static Thread thread1 = new Thread(() -> { while (count < 100) { lock.lock(); System.out.println("A:" + count); count ++; condition2.signal(); try { condition1.await(); } catch (InterruptedException e) { e.printStackTrace(); } lock.unlock(); } }); public static Thread thread2 = new Thread(() -> { while (count < 100) { lock.lock(); System.out

java压缩字符串

别等时光非礼了梦想. 提交于 2020-02-29 10:00:14
package com.miitgxt.common.util; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; /** * * @author wenhao * * */ public class ZipUtils { /** * * 使用gzip进行压缩 */ public static String gzip(String primStr) { if (primStr == null || primStr.length() ==