try

PHP 异常处理

天大地大妈咪最大 提交于 2019-12-22 18:56:39
PHP 异常处理 异常(Exception)用于在指定的错误发生时改变脚本的正常流程。 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法。 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 当异常被触发时,通常会发生: 当前代码状态被保存 代码执行被切换到预定义的异常处理器函数 根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本 我们将展示不同的错误处理方法: 异常的基本使用 创建自定义的异常处理器 多个异常 重新抛出异常 设置顶层异常处理器 异常的基本使用 当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。 如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。 让我们尝试抛出一个异常,同时不去捕获它: <?php //create function with an exception function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); }

Python 基础之-异常处理

匆匆过客 提交于 2019-12-22 18:43:52
一 什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分成两种 #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 class Foo pass #语法错误示范四 print(haha 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #TypeError:int类型不可迭代 for i in 3: pass #ValueError num=input(">>: ") #输入hello int(num) #NameError aaa #IndexError l=['egon','aa'] l[3] #KeyError dic={'name':'egon'} dic['age'] #AttributeError class Foo:pass Foo.x #ZeroDivisionError:无法完成计算 res1=1/0 res2=1+'str' 2.逻辑错误 二 异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,一个异常标识一种错误 AttributeError 试图访问一个对象没有的树形,比如foo.x

JavaSE-知识点总结

一世执手 提交于 2019-12-22 15:47:35
Java名词 变量 、 运算符 、 类 、 接口 、 枚举 、 参数 、 注解 、 异常 、 包装类 、 多线程 、 集合 、 IO流 、 网络编程 、 反射 、 Lambda 、 API 源文件:.java文件,存储Java源代码的文件 字节码文件:.class文件,由Java源代码编译后生成的.class文件,可以被JVM读取和执行的文件。 运行Java程序,其实就是执行.class字节码文件,由JVM把字节码数据再转为二进制的机器指令执行。 数据类型 基本 数据类型 :8种,byte,short,int,long,float,double,char,boolean 引用数据类型:类、接口、枚举、数组、注解 变量 变量根据数据类型的不同分为基本数据类型的变量和引用数据类型的变量。 变量根据声明位置不同分为成员变量和局部变量 (A)局部变量声明位置: ①方法的形参列表 ②方法体{}中 ③代码块{}中 成员变量声明位置: 类中 ,方法和代码块外面,按照是否有static修饰分为:类变量(静态变量) 和 实例变量(非静态变量) (B)内存存储的位置不同 局部变量:栈 实例变量:堆 类变量:方法区 (C)生命周期 局部变量 每一个线程每一次调用都是一次新的生命周期 实例变量:每一个对象的成员变量是独立的,和对象的生命周期一致 类变量:和类的生命周期一致 (D)作用域 局部变量

java使用freemark生成word/pdf

元气小坏坏 提交于 2019-12-22 15:22:27
目录 一、 背景 二、实现的技术选型以及遇到的坑 三、最终的效果 2.1 .doc word效果展示 2.1 .docx word效果展示 2.2 docx word转pdf效果展示 三、准备工作及代码实现 3.1后缀为.doc的word生成 3.2 后缀为.docx的word生成,word转pdf 四、相关源码资源下载 中间参考链接 @(freemark生成word/pdf) 一、 背景 工作需要,需要实现word和pdf的生成,其中包含:word模板生成,.docx转pdf生成,由于.docx是以xml方式读取,.doc是以二进制读取所以,目前我还没有找到好的方案可以实现.doc转pdf,如果网友有什么好的解决方案,请留言告知不胜感激,由于是第一次玩这个所以不是很熟悉,网上以统百度,各种尝试各种采坑,😓。网上这样的例子很多,但是坑也很多。我踩了很多坑,特此记载,避免自己和同等需求的网友再次踩坑。如果看完博客还有什么不懂的可以加群一起探讨:821605718, 或者加我个人qq: 2768861003 二、实现的技术选型以及遇到的坑 网上有人推荐 html 、 css 实现,样式复杂实现麻烦,且兼容性不好,不考虑 apache poi 实现,我一开始采用的这个,网上下载了个demo,跑起来了也成功导出了,欣喜若狂,开始用在自己的项目上,结果有一个类一直报错,具体报啥错,我不记得了

存储过程中使用事务

牧云@^-^@ 提交于 2019-12-22 15:00:56
一、存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 Create Procedure MyProcedure ( @Param1 nvarchar(10), @param2 nvarchar(10) ) AS Begin Set NOCOUNT ON; Set XACT_ABORT ON; Begin Tran Delete from table1 where name=’abc’; Insert into table2 values(value1,value2,value3); Commit Tran End 说明:1 、使用存储过程执行事物,需要开启XACT_ABORT参数(默认值为Off),将该参数设置为On,表示当执行事务时,如果出错,会将transcation设置为uncommittable状态,那么在语句块批处理结束后将回滚所有操作;如果该参数设置为Off,表示当执行事务时,如果出错,出错的语句将不会执行,其他正确的操作继续执行。 2、当SET NOCOUNT 为 ON 时,不返回计数(计数表示受 Transact-SQL 语句影响的行数,例如在Sql server查询分析器中执行一个delete操作后,下方窗口会提示(3)Rows

线程之间的协作

空扰寡人 提交于 2019-12-22 03:38:00
引言 线程之间可以通过 wait() 、 notify() 和 notifyAll() 等方法,结合“生产者、消费者和队列”等设计模式来相互协作。线程之间协作的基础是 任务之间的握手 ,其基础特性是 互斥 。 wait()、notify()、notifyAll() 方法介绍: 以上三个方法都要获取对象监视器; wait() :挂起线程,并放弃当前对象监视器; notify() :唤醒一个等待‘notify()所在代码持有的对象监视器’的线程; notifyAll() :唤醒所有等待线程,并让他们竞争对象监视器; 其他方法 shutdown() : shutdownNow() : 一. wait() 和 notifyAll() 1.1基本特性 当任务遇到运行需要但是自身无法改变的条件时,可以调用 wait() 来等待这个条件发生变化,而且只有在 notify()、notifyAll() 发生时才会检查条件是否发生了变化。 注意,只有在同步代码块中才能使用 wait() 方法( notify() 方法同理),否则编译可以通过但是运行时会抛出 IllegalMonitorStateException 。 与 sleep()、yield() 不同的时: 在 wait() 期间锁是释放的,因此其他方法或代码块可以获得锁并执行; 可以通过 notify()、notifyAll()

Java多线程协作(wait、notify、 notifyAll)

狂风中的少年 提交于 2019-12-22 03:35:53
http://sunjun041640.blog.163.com/blog/static/25626832201041411210560/ Java监视器支持两种线程:互斥和 协作。 前面我们介绍了采用对象锁和重入锁来实现的互斥。这一篇中,我们来看一看线程的协作。 举个例子:有一家汉堡店举办吃汉堡比赛,决赛时有3个顾客来吃,3个厨师来做,一个服务员负责协调汉堡的数量。为了避免浪费,制作好的汉堡被放进一 个能装有10个汉堡的长条状容器中,按照先进先出的原则取汉堡。如果容器被装满,则厨师停止做汉堡,如果顾客发现容器内的汉堡吃完了,就可以拍响容器上的 闹铃,提醒厨师再做几个汉堡出来。此时服务员过来安抚顾客,让他等待。而一旦厨师的汉堡做出来,就会让服务员通知顾客,汉堡做好了,让顾客继续过来取汉 堡。 这里,顾客其实就是我们所说的消费者,而厨师就是生产者。容器是决定厨师行为的监视器,而服务员则负责监视顾客的行为。 在JVM中,此种监视器被称为等待并唤醒监视器。 在这种监视器中,一个已经持有该监视器的线程,可以通过调用监视对象的wait方法,暂停自身的执行,并释放监视器,自己进入一个等待区,直到监 视器内的其他线程调用了监视对象的notify方法。 当一个线程调用唤醒命令以后,它会持续持有监视器,直到它主动释放监视器。而这之后,等待线程会苏醒,其中的一个会重新获得监视器,判断条件状态,以便决

python异常处理

落爺英雄遲暮 提交于 2019-12-22 00:41:23
目录 1. 异常的概念 2. 捕获异常 2.1 简单的捕获异常语法 2.2 错误类型捕获 2.3 异常捕获完整语法 3. 异常的传递 4. 抛出raise异常 4.1 应用场景 4.2 抛出异常 1. 异常的概念 程序在运行时,如果 Python 解释器 遇到 到一个错误, 会停止程序的执行,并且提示一些错误信息 ,这就是 异常 程序停止执行并且提示错误信息 这个动作,我们通常称之为: 抛出(raise)异常 程序开发时,很难将 所有的特殊情况 都处理的面面俱到,通过 异常捕获 可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性 2. 捕获异常 2.1 简单的捕获异常语法 在程序开发中,如果 对某些代码的执行不能确定是否正确 ,可以增加 try(尝试) 来 捕获异常 捕获异常最简单的语法格式: try: 尝试执行的代码 except: 出现错误的处理 try 尝试 ,下方编写要尝试代码,不确定是否能够正常执行的代码 except 如果不是 ,下方编写尝试失败的代码 简单异常捕获演练 —— 要求用户输入整数 try: int(input("请输入一个整数:")) except: print("请输入的不是一个整数") 2.2 错误类型捕获 在程序执行时,可能会遇到 不同类型的异常 ,并且需要 针对不同类型的异常,做出不同的响应 ,这个时候,就需要捕获错误类型了 语法如下:

11、HDFS编程案例

拈花ヽ惹草 提交于 2019-12-22 00:06:25
一、Windows环境配置 1、准备好hadoop的完全分布式按照,具体按照步骤这里不再赘述 此处我的版本为hadoop2.7.6版本,环境配置为Hadoop的完全分布式按照,各个节点具体安排如下 1)机器地址映射关系 192.168.8.240 hadoop01 192.168.8.241 hadoop02 192.168.8.242 hadoop03 2)机器节点安排 hadoop01 namenode datanode nodemanager hadoop02 secondarynamenode datanode nodemanager hadoop03 resourcemanager datanode nodemanager HDFS:分布式文件 hadoop01为namenode,其他都为datanode(包括hadoop01自己) YARN:分布式计算 hadoop03为resourcemanager管理节点,其他为计算节点nodemanager 3)说明 namenode最好单独出来,减轻元数据负载压力 secondarynamenode最好不要与namenode放置在同一台机器进行冷备份 resourcemanager最好单独出来避免与nodemanager在同一台机器 4)注意 hadoop完全分布式环境启动注意 hdfs的启动和关闭可以在任意节点进行控制:

python中的异常

雨燕双飞 提交于 2019-12-21 20:18:52
一、python中用异常对象(exception object)来表示异常的情况 遇到错误后,回引发异常。如果异常对象并未被处理或者捕捉,则程序就会用所谓的回溯(Traceback ,一种错误信息来终止) try: open(“abc。txt”,‘+r’) except FileNotFoundError : print(“异常了!”) try: open(aa) except FileNotFoundError: print(“异常了!”) try: open(aa) except NameError : print(“异常了!”) 异常的抛出机制: 1.如果在运行时发生异常,则解释器会查找相应的处理语句(成为handlder) 2.如果在当前的函数里没有找到的话,则它会将异常传递给上一层的调用函数,看看那里能不能处理 3.如果在最外层(全局main)还是没有找到的话,那么解释器就会推出,同时打印Traceback,以便让用户找到错误产生的原因 注: 1.虽然大多数错误会导致异常,但异常不一定代表错误,有时候他们呢只是一个警告,有时候时一个终止信号,例如退出循环等 2.在python中所有的异常类都继承Exception,所以可以使用他来接收所有类型的异常信息。 try: open(aa) except Exception: print(“异常了!”) 3.从python2.5后