try

java异常处理和异常分类

风格不统一 提交于 2020-01-15 20:53:22
一、背景信息: 异常 才是程序遇到的最场景的情况。一段具有某种功能或者达到某种效果的程序,在理想的情况下,是完美的。这里的理想情况是程序不会遇到处理不了的异常,然后在大部分生产关系下,会面临各种各样的异常:IO错误、网络异常、不合法数据、容器越界、内存溢出等等。所以异常才是正常的情况。 面对着形形色色的异常,我们如果仅仅只是模式化的运用着JAVA的异常处理机制,很明显是不够的,还需要了解异常的分类、异常的含义以及如何正确处理异常。 二、JAVA的异常处理机制 Java的异常处理机制本质上有两种: 抛出异常 和 捕获异常 。 抛出异常 指的是当程序发生异常时,不因此而终止程序的执行,而是往程序外部抛出异常,期待程序外部处理异常。 关键字: • throw -- 用于抛出异常。 • throws -- 用在方法签名中,用于声明该方法可能抛出的异常。 例如 public static void main(String[] args) throws Exception { String Exception = "Exception"; if ("Exception".equals(Exception)){ System.out.println("抛出异常"); throw new Exception("Exception"); } } 捕获异常 指的是当程序发生异常时

springboot 整合redis 使用(附RedisUtil类)

寵の児 提交于 2020-01-15 20:51:31
最近在学习redis ,记录一下跟springboot整合,很简单 (1)新建springboot项目,可以查看这个 https://blog.csdn.net/qq_36635434/article/details/84027740 (2)添加依赖 我的springboot 版本是2.0.0.RELEASE <!--redis依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> (3)添加配置信息 # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=139.199.31.248 # Redis服务器连接端口 spring.redis.port=6479 # Redis服务器连接密码(默认为空) spring.redis.password=pass@2986 # 连接池最大连接数(使用负值表示没有限制) spring.redis.jedis.pool.max-active=200 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.jedis.pool

C#异常机制

随声附和 提交于 2020-01-15 17:07:17
| 版权声明:本文为博主原创文章,未经博主允许不得转载。 1. 异常处理模板 1 Try{ 2 3 有可能出现的错误代码; 5      ...... 6 } 7 8 catch{ 9 10 如果try中的代码出现异常,则进入catch中; 12      ...... 13 } 2. try-catch执行过程:   首先,如果try中的代码没有出错,则程序正常运行try中的内容后,不会执行catch中的内容。但是如果try中的代码一旦出错,程序立即跳入 catch中去执行代码,则try中的出错代码的后面的代码将不会在继续执行。 3. 源码示例 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Test6_TryCatch的使用 8 { 9 /// <summary> 10 /// 让学生输入其姓名,语文、数学、英语成绩,编程求其总分和平均分:并在屏幕上显示;××你的总分为 11 /// ××分,平均分为××分。突出异常机制的处理 12 /// </summary> 13 class Program 14 { 15 static void Main

final、finally、 finalize

天大地大妈咪最大 提交于 2020-01-15 14:55:00
java面试题分享 -----final、finally、 finalize的不同 答: final可以用来修饰类、方法、变量,分别有不同的意义,final修饰的class代表不可以继承扩展,final的变量是不可以修改的,而final的方法也是不可以重写的(override)。 finally则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-finally或者try-catch-finally来进行异常处理等操作。 finalize是基础类java.lang.Object的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize机制现在已经不推荐使用. 浅谈final finally的作用 finalize—对象的救赎 来源: CSDN 作者: AD钙12138 链接: https://blog.csdn.net/qq_42568510/article/details/103985225

Java异常处理面试题归纳

安稳与你 提交于 2020-01-15 14:46:14
Java异常处理面试题归纳 1、error和exception有什么区别 error表示系统级的错误,是java运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题,除了退出运行外别无选择,它是Java虚拟机抛出的。 exception 表示程序需要捕捉、需要处理的异常,是由与程序设计的不完善而出现的问题,程序必须处理的问题 2、运行时异常和一般异常有何不同 Java提供了两类主要的异常:runtimeException和checkedException 一般异常(checkedException)主要是指IO异常、SQL异常等。对于这种异常,JVM要求我们必须对其进行cathc处理,所以,面对这种异常,不管我们是否愿 意,都是要写一大堆的catch块去处理可能出现的异常。 运行时异常(runtimeException)我们一般不处理,当出现这类异常的时候程序会由虚拟机接管。比如,我们从来没有去处理过NullPointerException,而且 这个异常还是最常见的异常之一。 出现运行时异常的时候,程序会将异常一直向上抛,一直抛到遇到处理代码,如果没有catch块进行处理,到了最上层,如果是多线程就有Thread.run()抛出,如 果不是多线程那么就由main.run()抛出。抛出之后,如果是线程,那么该线程也就终止了,如果是主程序,那么该程序也就终止了。

创建Socket接收Tcp数据,运行一两天左右就会停止运行

点点圈 提交于 2020-01-15 08:29:38
创建Socket接收Tcp数据,运行一两天左右就会停止运行 请大佬帮忙看一下 using Newtonsoft . Json ; using Newtonsoft . Json . Linq ; using System ; using System . Collections . Generic ; using System . Diagnostics ; using System . IO ; using System . Linq ; using System . Net ; using System . Net . Sockets ; using System . Runtime . InteropServices ; using System . Text ; using System . Text . RegularExpressions ; using System . Threading ; using System . Windows . Forms ; namespace TcpRecevice { public partial class Form1 : Form { # region 参数 private static string FTPCONSTR = "" ; //FTP的服务器地址。 private static string FTPUSERNAME

java学习之异常处理(三)

雨燕双飞 提交于 2020-01-15 05:50:11
处理异常的两种方法(Throws和 try—catch) 使用try-catch捕捉异常 语法格式: try{ } catch(异常类型1 变量){ } catch(异常类型 2 变量 ){ } 代码示例: public static void main(String[] args) { try{ FileInputStream fileInputStream = new FileInputStream("c:/a.txt"); } catch (FileNotFoundException e) { System.out.println("捕捉到异常,正在处理"); } } 执行结果 注释: 注释:变量内存地址指向的是异常类型的事件。 1.catch语句可以写多个 2.捕获的异常应当与try中发生的异常相对应 3.catch中捕获的异常类型可以是捕获类型的父类:例如 FileInputStream file = new FileInputStream(”c:/ab.txt“); 这个语句当文件不存在时,返回的异常类型是FileNotFoundException 但是也可以是这个异常类型的父类型 IoException. 4.多个catch捕捉的异常类型必须自上而下,从小到大进行捕捉 5.try catch中最多执行一个分支,结束后向下执行 6.当出现一个异常时

异常处理---try语句

纵然是瞬间 提交于 2020-01-15 05:43:36
异常处理----try语句 当认为某些代码可能会出错时,就可以用try语句来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块。 try语句格式 try: < 语句 > #运行别的代码 except < 名字 > : < 语句 > #如果在try部分引发了'name'异常 except < 名字 > , < 数据 > : < 语句 > #如果引发了'name'异常,获得附加的数据 else: < 语句 > #如果没有发生异常 try: < 语句 > finally: < 语句 > #退出try时总会执行finally语句 try语句工作原理 1.当开始执行一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里了,try语句先执行,没有发生异常,就输出执行结果;如果出现异常,则执行except语句。 2.如果当try后的语句执行时发生异常,python就跳回到try并哪执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又发生新的异常)。 3.如果在try后的语句里发生了异常,却没有匹配的except语句,异常将被递交到上层的try,或者程序的最上层(这样将结束程序

JAVA 串口编程 (三)

北城以北 提交于 2020-01-15 03:06:33
四、实例分析 同API一起下载的还有一个examples文件,里面有个最简单的读、写程序,对其进行注释,以增进了理。 (1)读串口 1 import java . io . * ; 2 import java . util . * ; 3 import javax . comm . * ; 4 5 public class SimpleRead implements Runnable, SerialPortEventListener { 6 7 static CommPortIdentifier portId; 8 static Enumeration portList; // 枚举类 9 10 InputStream inputStream; 11 SerialPort serialPort; 12 Thread readThread; 13 14 public static void main(String[] args) { 15 16 portList = CommPortIdentifier . getPortIdentifiers(); /* 不带参数的getPortIdentifiers方法获得一个枚举对象,该对象又包含了系统中管理每个端口的CommPortIdentifier对象。注意这里的端口不仅仅是指串口,也包括并口。这个方法还可以带参数

数据发送与接收并行

心已入冬 提交于 2020-01-14 22:06:46
服务端接收的socket可能有很多,会将这些客户端保存到一个集合中,当有输入的时候,遍历这些客户端进行发送。 当接收的时候,会只解析指定客户端的信息。 客户端: package client; import client.bean.ServerInfo; import java.io.IOException; public class Client { public static void main(String[] args){ ServerInfo info = ClientSearcher.searchServer(10000); System.out.println("Server:"+info); if(info != null){ try { TCPClient.linkWith(info); }catch (IOException e){ e.printStackTrace(); } } } } package client; import client.bean.ServerInfo; import clink.net.qiu.clink.utils.CloseUtils; import java.io.*; import java.net.*; public class TCPClient { public static void linkWith