try

try-cathc多重捕获

折月煮酒 提交于 2020-03-10 09:45:14
多重捕获: try { //可能会发生异常的语句 } catch (FileNotFoundException e) { //调用方法methodA处理 } catch (IOException e){ //调用方法methodA处理 } catch (ParseException e){ //调用方法methodA处理 } Java 7之后的多重捕获的格式: //多重捕获格式 try { //可能会发生异常的语句 } catch (IOException | ParseException e) { //调用方法methodA处理 } 代码示例 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TryCatchCatchs { public static void main(String[] args) { Date

11.11异常捕获概要

随声附和 提交于 2020-03-10 09:32:19
异常是导致程序中断运行的一种指令流,当异常发生时,如果没有进行良好的处理,则程序将会中断执行。 异常处理可以使用try…catch结构进行处理,也可以使用try… catch…finally结构进行处理,在try语句中捕捉异常,之后在catch中处理异常,finally作为异常的统一出口,不管是否发生异常都要执行此段代码。 异常的最大父类Throwable,其中分为两个子类:Exception和Error。Exception表示程序处理的异常,而Error表示JVM错误,一般不由程序开发人员处理。 发生异常之后,JVM会自动产生一个异常类的实例化对象,并匹配相应的catch语句中的异常类型,也可以利用对象的向上转型关系,直接捕获Exception。 throws用在方法声明处,表示本方法不处理异常。 throw表示在方法中手动抛出一个异常。 自定义异常类的时候,只需继承Exception 或RuntimeException类即可。 断言(assert)可以用来检测程序的执行结果,但开发中并不提倡使用断言进行检测。 来源: CSDN 作者: ll_j_21 链接: https://blog.csdn.net/ll_j_21/article/details/104755878

java 作业

时光毁灭记忆、已成空白 提交于 2020-03-10 02:46:04
#千锋逆战班# 在千锋“逆战”学习第 26 天, 今天学习的是 异常 的相关内容。 中国加油!武汉加油!千锋加油! 学习的脚步不停止! 天道酬勤,继续加油! Day 26 作业 1.Java中所有的错误都继承自 Throwable 类 ;在该类的子类中, Error 类表示严重的底层错误 ,对于这类错误一般处理的方式是 不能手动处理 ; Exception 类 表示例外、异常。 2.查询API ,填空 I.异常类 java.rmi.AlreadyBoundException,从分类上说,该类属于 已检查 异常,从处理方式上说,对这种异常 try-catch捕获异常或者throws 声明处理。 II.异常类 java.util.regex.PatternSyntaxException ,从分类上说,该类属于 运行时 异常,从处理方式上说,对这种异常 try-catch捕获 处理。 package com . day26 . TestWork ; public class TestThrow { public static void main ( String [ ] args ) { throwException ( 10 ) ; } public static void throwException ( int n ) { if ( n == 0 ) { //抛出一个

Java多线程中join方法的理解

耗尽温柔 提交于 2020-03-09 11:30:45
https://www.iteye.com/blog/uule-1101994 thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 t.join(); //使调用线程 t 在此之前执行完毕。 t.join(1000); //等待 t 线程,等待时间是1000毫秒 先上一段JDK中代码: Java代码 /** * Waits at most <code>millis</code> milliseconds for this thread to * die. A timeout of <code>0</code> means to wait forever. */ //此处A timeout of 0 means to wait forever 字面意思是永远等待,其实是等到t结束后。 public final synchronized void join( long millis) throws InterruptedException { long base = System.currentTimeMillis(); long now = 0; if (millis < 0) { throw new IllegalArgumentException(

JDBC之使用Statement,PreparedStatement,ResultSet

萝らか妹 提交于 2020-03-09 11:17:21
1. 创建一个获取 Connection 对象和关闭资源的工具类   在对数据库进行CRUD(①查询数据、②数据插入、③数据修改、④数据删除)操作的时候,每一个操作都需要获取Connection对象,所以我们就可以把 获取 Connection对象的过程 抽离 到一个 工具类 当中,下面是具体代码。 public final class JdbcUtil { private JdbcUtil() { } private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL"; private static String user = "scott"; private static String password = "tiger"; // 通过静态代码块加载驱动类 static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError("加载驱动类出错!!"); } } // 获取连接对象 public static Connection getConnection() throws Exception {

JUC -多线程锁问题:

懵懂的女人 提交于 2020-03-09 06:25:24
多线程锁问题: 8锁现象下名词解释: 顺序执行:先调用的先执行 随机执行:没有规律,与计算机硬件资源有关,哪个线程先得到资源就先执行,各个线程之间互不干扰。 多个线程使用同一把锁- 顺序执行 多个线程使用同一个对象,多个线程就是使用一把锁,先调用的先执行! public class MultiThreadUseOneLock01 { public static void main ( String [ ] args ) { Mobile mobile = new Mobile ( ) ; // 两个线程使用的是同一个对象。两个线程是一把锁!先调用的先执行! new Thread ( ( ) - > mobile . sendEmail ( ) , "A" ) . start ( ) ; // 干扰 try { TimeUnit . SECONDS . sleep ( 1 ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } new Thread ( ( ) - > mobile . sendMS ( ) , "B" ) . start ( ) ; } } // 手机,发短信,发邮件 class Mobile { // 被 synchronized 修饰的方法、锁的对象是方法的调用者、 public

Oracle的简单查询跟修改

 ̄綄美尐妖づ 提交于 2020-03-09 04:39:08
maven依赖 < dependency > < groupId > com . jslsolucoes < / groupId > < artifactId > ojdbc6 < / artifactId > < version > 11.2 .0 .1 .0 < / version > < / dependency > public class oracle { Connection connection = null ; PreparedStatement preparedStatement = null ; ResultSet resultSet = null ; @Test public void jdbc ( ) { try { //1.注册驱动 Class . forName ( "oracle.jdbc.driver.OracleDriver" ) ; //2.获取数据库连接 connection = DriverManager . getConnection ( "jdbc:oracle:thin:@//localhost:1521/ORCL" , "scott" , "123456" ) ; //3.创建Statement String sql = "select * from books" ; preparedStatement = connection .

生产者与消费者 升级

倾然丶 夕夏残阳落幕 提交于 2020-03-08 20:26:28
/** * @DESCRIPTION: * Sychronized wait notifyAll * 注意: while来判断唤醒条件 if会引起 虚假唤醒 * @Author: WangLt * @Date: 2020/3/8 */ @SuppressWarnings ( "all" ) public class SellerAndBuyer { public static void main ( String [ ] args ) { Data data = new Data ( ) ; new Thread ( ( ) - > { for ( int i = 0 ; i < 10 ; i ++ ) { try { data . decrement ( ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } } , "T1" ) . start ( ) ; new Thread ( ( ) - > { for ( int i = 0 ; i < 10 ; i ++ ) { try { data . increment ( ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } } , "T2" ) .

Python 运行异常管理

女生的网名这么多〃 提交于 2020-03-08 10:45:07
1 前言 Python使用被称为 异常 的特殊对象来管理程序执行期间发生的错误。每当发生让Python不知所措的错误时,它都会创建一个异常对象。 如果你编写了处理该异常的代码,程序将继续运行;如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告。 异常是使用try-except代码块处理的。try-except代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办。 使用了try-except代码块时,即便出现异常,程序也将继续运行。 2 运用try-except代码块 我们知道,除数是不能为0的,当程序员误将除数设置为0时,将会出现ZeroDivisionError错误。 实现代码: 1 try: 2 print(6/0) 3 except ZeroDivisionError: 4 print("you can not divide by zero!") 运行结果: you can not divide by zero! 工作原理: 将可能出现错误的代码放在try代码块中,如果运行无错误,将跳过except代码块;若导致了错误,Python将查找except代码块,并执行其中的代码。 这样一来,当运行出错时,用户看到的便是一条友好的错误信息。 若try-except后面还有其他代码,那么程序将接着运行。 3 运用try

爬取京东官网,自动搜索保存所有商品信息

末鹿安然 提交于 2020-03-08 09:50:13
# @Author: Liu_li (happyandluck@163.com) # @Date : 2020/3/4 9:01 # @coding : UTF-8 # @Project: Sutdy_2 # @FileName: myspider.py import datetime import os import random import sqlite3 import threading import time import urllib . request from selenium import webdriver from selenium . webdriver . chrome . options import Options from selenium . webdriver . common . keys import Keys class MySpider : headres = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/70.0.3538.25 Safari/537.36 " "Core/1.70.3741.400 QQBrowser/10.5.3863.400" } imagePath