try

Java异常处理小结

十年热恋 提交于 2020-03-28 08:19:11
本小结是根据尚硅谷的教程逐步进行总结,包含了自己的理解。  本篇只是对异常(exception)进行总结 exception包含编译(checked)和运行两部分异常。编译时异常是指在写代码的时候出现的异常,例如FileNotfoundException,运行时是指在运行后,程序计算后可能会出现的异常,例如数组越界异常。  这些异常都可以在代码中提前进行预防。 程序异常的处理:抓抛模型    过程一:抛:程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个异常对象,并将这个对象抛出,一旦抛出后,代码就不再执行。  二:抓:可以理解为异常的处理方式。 try-catch-finally结构分析 try中放可能会出现异常的代码  catch中的参数部分是异常类型+变量名,内部为异常处理的方式  finally中为一定会执行的代码。  其中finally可选。    抛出的对象只会在第一次匹配到的catch中发挥作用,其他的异常即时有用也不会发挥作用。  catch中的异常类型如果没有子父类关系,声明顺须无所谓。  catch中常用getStackTrace()来处理异常。 关于finally。像数据库连接、输入输出流、网络编程Socket等资源,JVM是不能回收的,这些需要手动释放的资源就要放在finally中。  以文件打开为例,在try中可能会出现文件的异常

经常出现在python中的错误和异常处理

不打扰是莪最后的温柔 提交于 2020-03-27 20:59:39
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://t.cn/A6Zvjdun 使用try except处理异常 上面的代码中,被除数是0,会引发ZeroDivisionError,运行上面的代码: 使用try except处理多个异常 如果一段代码可能跑出多个异常,try except也是可以处理的, 下面代码用来读取一个文件,并转换成整型输出 如果文件不存在,会捕捉到下面异常: 另外,如果读取的字符串不能转换成整型,则会捕捉到ValueError 使用try-except-else捕获异常 如果没有异常,执行else中的代码 此时,执行效果如下: try-finally捕获异常 上面的try–finally按照如下规则执行: 如果try语句没有捕获错误,do_finally代码执行 如果try语句捕获错误,程序首先执行do_finally语句,然后将捕获到的错误交给python解释器处理 上面的程序,当读取到非法字符串时候,此时转换成整型会出错,此时finally语句块先执行,然后,将异常交给python解释器处理 使用try-except-else-finally 上面的代码块会按照下面的规则来执行: 若try语句没有捕获异常,执行完try代码段后,执行else代码段,最后执行finally 若try捕获异常

异常处理

怎甘沉沦 提交于 2020-03-27 10:23:19
3 月,跳不动了?>>> 异常处理 定义 程序运行会出现各种各样的问题,例如语法编写错误或文件读写错误等,出现各种各样的bug(八阿哥) 默认情况下,程序会马上停止执行,并根据错误情况,反馈异常情况(显示栈追踪) 方便程序员进行排错和调试 哪个位置出了问题? 哪种类型的错误? 本质上讲,异常是一种类,并且有很多子类,基类为BaseException 举例 IOError 异常说明 输入输出异常 异常代码 file1 = open('file.txt','r') 异常输出 Traceback (most recent call last): File "/Users/jaykingchen/PycharmProjects/PINGINGLAB/6.Errors & Exceptions/IOError.py", line 1, in <module> file1 = open('file.txt','r') IOError: [Errno 2] No such file or directory: 'file.txt' Process finished with exit code 1 ZeroDivisionError 异常说明 分母为0异常 异常代码 a = 1 b = 0 print a / b 异常输出 Traceback (most recent call last):

常见的JAVA面试题

≡放荡痞女 提交于 2020-03-27 07:31:15
1.开发中都用到了那些设计模式?用在什么场合? 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。 2. 说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法 Session Facade Pattern:使用SessionBean访问EntityBean   Message Facade Pattern:实现异步调用   EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问   Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性   Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性   Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性   EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。 3.

ActiveMQ安装与使用

[亡魂溺海] 提交于 2020-03-27 06:40:31
一 .安装运行ActiveMQ: 1.下载activemq wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.tar.gz 2.解压 tar -xf apache-activemq-5.9.0-bin.tar.gz [zcw@g1 ~]$ cd apache-activemq-5.9.0 [zcw@g1 apache-activemq-5.9.0]$ cd bin/ 3.运行: [zcw@g1 bin]$ activemq start 三种运行方式: (1)普通启动 ./activemq start (2)启动并指定日志文件 ./activemq start >tmp/smlog (3)后台启动方式nohup ./activemq start >/tmp/smlog 前两种方式下在命令行窗口关闭时或者ctrl+c时导致进程退出,采用后台启动方式则可以避免这种情况 管理后台为: http://ip:8161/admin/ 4.检查已经启动 ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令以便检验是否已经成功启动ActiveMQ服务。 打开端口:nc -lp 61616 & 查看哪些端口被打开

异常处理

安稳与你 提交于 2020-03-27 02:59:22
一,异常和错误 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 print(haha 语法错误 语法错误 2.逻辑错误(逻辑错误) #用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num=input(">>: ") int(num) #无法完成计算 res1=1/0 res2=1+'str' 逻辑错误 part2:什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 part3:python中的异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 # 触发IndexError l=['egon','aa'] l[3] # 触发KeyError dic={'name':'egon'} dic['age'] #触发ValueError s='hello' int(s) 错误举例 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包

雷林鹏分享:Java快速入门-Java是什么

左心房为你撑大大i 提交于 2020-03-26 16:02:42
  Java 是什么?   Java 的特点:   面向对象   平台无关(跨平台):   简单   安全   体系结构 - 中性   可移植   健壮   多线程   解释型   高性能   分布式   动态   Java安装及环境设置:   java的安装及环境配置可以看java开发环境配置章节。   Java 基础语法   对象 - 对象有状态和行为。例如:狗有状态色,名字,品种以及行为 - 摇头晃脑,吠叫,吃。对象是类的一个实例。   类 - 类可以被定义为一个模板/蓝本描述该行为/状态及其支持对象类型。   方法 - 方法基本上是一个行为。一个类可以包含(拥有)多个方法。 将逻辑写入方法,数据操纵和所有的动作都会被执行。   实例变量 - 每个对象都有其独特(唯一)的实例变量。对象的状态是由分配给这些瞬间变量的值来创建。   第一个Java程序:   让我们来看看,以下代码将打印一个简单词语 Hello World   public class MyFirstJavaProgram{   /* This is my first java program.   * This will print 'Hello World' as the output   */   public static void main(String []args){   System.out

标题栏切换(jquery)

旧时模样 提交于 2020-03-26 07:15:32
效果图: html和css代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="js/jquery.js"></script> <style> body,div,p,span,ul,li,img{ margin:0; padding:0; list-style:none;} .zong{ width:1000px; margin:0 auto;} .nav{ width:1000px; height:440px; position:relative; margin:0 auto;} .nav ul li.nav_li{ float:left; width:199px; height:40px; background-color:#6FF;

面试刷题11:java系统中io的分类有哪些?

烂漫一生 提交于 2020-03-26 00:21:25
随着分布式技术的普及和海量数据的增长,io的能力越来越重要,java提供的io模块提供了足够的扩展性来适应。 我是李福春,我在准备面试,今天的问题是: java中的io有哪几种? java中的io分3类: 1,BIO ,即同步阻塞IO,对应java.io包提供的工具;基于流模型,虽然直观,代码实现也简单,但是扩展性差,消耗资源大,容易成为系统的瓶颈; 2,NIO,同步非阻塞io,对应java.nio包提供的工具,基于io多路复用; 核心类: Channel ,Selector , Buffer , Charset selector是io多路复用的基础,实现了一个线程高效管理多个客户端连接,通过事件监听处理感兴趣的事件。 3,AIO,即异步非阻塞io, 基于事件和回调 io的类层级 java各种IO的例子 java.io客户端连接服务端例子 package org.example.mianshi.io; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.ServerSocket; import java

Reactor模型

半世苍凉 提交于 2020-03-25 16:43:13
要无障碍阅读本文,需要对NIO有一个大概的了解,起码要可以写一个NIO的Hello World。 说到NIO、Netty,Reactor模型一定是绕不开的,因为这种模式架构太经典了,但是好多人在学习的时候,往往会忽视基础的学习,一上来就是Netty,各种高大上,但是却没有静下心来好好看看Netty的基石——Reactor模型。本文就带着大家看看Reactor模型,让大家对Reactor模型有个浅显而又感性的认识。 说到Reactor,不得不提到一篇文章,文章作者是大名鼎鼎的Doug Lea,Java中的并发包就是出自他之手,下面我试着从文章中挑出一些重要的内容,结合我的理解,来说说Reactor模型,看看Doug Lea大神的脑回路是多么的与众不同。 经典的服务设计 这是最为传统的Socket服务设计,有多个客户端连接服务端,服务端会开启很多线程,一个线程为一个客户端服务。 在绝大多数场景下,处理一个网络请求有如下几个步骤: read:从socket读取数据。 decode:解码,因为网络上的数据都是以byte的形式进行传输的,要想获取真正的请求,必定需要解码。 compute:计算,也就是业务处理,你想干啥就干啥。 encode:编码,同理,因为网络上的数据都是以byte的形式进行传输的,也就是socket只接收byte,所以必定需要编码。 下面我们来看看传统的BIO代码: