java 异常 try catch throw

java 中
try {throw1...}catch {throw2...}finally{throw3...},
请帮忙解释一下上述简易代码如何执行

2个回答

先程序跑try{ xxxx}代码,如果有错误就继续跑catch{xxx}里代码,然后执行finally{xxxx}里代码。如果try里没有错误,就直接在执行finally里代码了。finally无论程序是否报错都会执行的。

好问题
finally的代码无论如何都会执行

 /* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        try
        {
            foo();
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }
    public static void foo() throws java.lang.Exception
    {
        try
        {
            throw new Exception("1");
        }
        catch (Exception ex)
        {
            throw new Exception("2");
        }
        finally
        {
            throw new Exception("3");
        }
    }
}

结果
java.lang.Exception: 3

https://ideone.com/77V20c

显然1肯定执行了,不然不会触发3
但是主程序抓到的是最后一个异常,所以是3

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什么Java书中实现Java异常链时,在catch{}模块中已经用throw再次抛出了一个异常,却还要在方法定义时throws这个类的异常?
最近学习了Java的异常链机制,发现了一个问题,就是作者实现Java异常链的时候总是在方法定义处throws方法体中已经throw过实例的异常类,显得有些赘余,我想请问这是在干什么,throws和throw不配套使用也不会出错,这样做只是为了什么?以为了后能看得懂? ``` public class ExceptionList { public void firstStep() throws MyException{ throw new MyException(); } //这里又throws了catch子句里已经抛出的异常 public void SecondStep() throws AutoDefinedRuntimeException{ try { ExceptionList eList = new ExceptionList(); eList.firstStep(); } catch(MyException me1) { //me1.getMessage(); me1.printStackTrace(); throw new AutoDefinedRuntimeException(me1);//抛出更高级的异常 } } public static void main(String[] args) { // TODO Auto-generated method stub try{ ExceptionList eList = new ExceptionList(); eList.SecondStep(); } catch(AutoDefinedRuntimeException me2) { //me2.getMessage(); me2.printStackTrace(); } } } ```
java try catch处理问题
先上代码: ``` public static byte[] toBytes(Object object) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = null; try { objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); objectOutputStream.writeObject(object); byte[] bytes = byteArrayOutputStream.toByteArray(); return bytes; } catch (IOException e) { throw new RuntimeException(e.getMessage(),e); //e.printStackTrace(); } finally { try { objectOutputStream.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ``` 我这样写是没问题的,但是如果我将第一个catch语句中的 ``` throw new RuntimeException(e.getMessage(),e); ``` 注释掉,换成 ``` e.printStackTrace(); ``` Eclipse就会报错,说toBytes方法没有返回值,请问这是为什么?
java try-catch 新手求助
public static void main(String[] args) { Scanner input1=new Scanner(System.in); String[] books={"","军事","历史","建筑","文学","数学","计算机","小说","百科"}; label1: while(true){ Chaintest t1=new Chaintest(); Chaintest t2=new Chaintest(); System.out.println("请选择查询方法:a.图书信息 b.图书序号"); String choose=input1.next(); if(choose .equals ( "a")==true ){ System.out.println("选择了a方法"); try { t1.getBookname(books); } catch (Exception e) { e.printStackTrace(); } private static String getBookname(String[] newBooks) throws Exception{ Scanner input2=new Scanner(System.in);//储存图书名字信息 label2: while(true) System.out.println("请输入书名:"); String choose2=input2.next(); int i=0; if (newBooks [i] .contentEquals(choose2)==false) throw new Exception("很抱歉,您所输入的书籍不存在。请查询其他书目"); else System.out.println("您所需要的书籍为:"+newBooks[i]); } } 想请教一下。 我在main方法中创建一个一位数组(用于保存图书信息),需要用户输入书籍名称检测该图书是否存在数组中。如果我输入的图书名称在数组里找不到,想重新返回getBookname中输入,在catch块中应该添加什么语言呢? 感谢回答!
Java关于在catch中抛出一个异常给外围函数却捕获不到的问题
先给出一串代码: package javaException; public class TestException { public TestException(){ } boolean testEx()throws Exception{ boolean ret=true; try{ ret=testEx1(); } catch(Exception e){ System.out.println("testEx, catch exception"); ret=false; throw e; } finally{ System.out.println("testEx, finally:return value:"+ret); return ret; } } boolean testEx1()throws Exception{ boolean ret=true; try{ ret=testEx2(); if(!ret){ return false; } System.out.println("testEx1, at the end of try"); return ret; } catch(Exception e){ System.out.println("testEx1, catch exception"); ret=false; throw e; } finally{ System.out.println("testEx1, finally:return value:"+ret); return ret; } } boolean testEx2()throws Exception{ boolean ret=true; try{ int b=12; int c; for(int i=2;i>=-2;i--){ c=b/i; System.out.println("i="+i); } return true; } catch(Exception e){ System.out.println("testEx2, catch exception"); ret=false; throw e; } finally { System.out.println("testEx2, finally:return value="+ret); return ret; } } public static void main(String[] args) { // TODO Auto-generated method stub TestException testException1=new TestException(); try{ testException1.testEx(); } catch(Exception e){ e.printStackTrace(); } } } 对于函数testEx2()中catch块中抛出的异常,testEx1()函数却捕获不到,这是为什么呢? 我想过一种可能:testEx1()中将testEx2()的返回值赋值给ret,即 ret=testEx2(),而testEx2()中抛出的异常在这个过程中被过滤掉了。因为如果我直接把testEx2()放在testEx1()中,而不是通过ret=testEx2()的方式,那么这个异常是能够被捕获的。 求证各位大佬!!!
JAVA新手,关于自定义异常的问题,求大神解答!
我发现只要键盘输入的字符不是“java“,就会一直循环 System.out.println("请输入字符串:"); String str = input.nextLine();这两个代码行,输入java后catch才会执行,这是为什么,我现在还不太懂在try里面用throw new 的意思,求解答! package 测试多态; import java.util.Scanner; public class exceptiontest2 extends Exception { public exceptiontest2() throws exceptiontest2 { Scanner input = new Scanner(System.in); System.out.println("请输入字符串:"); String str = input.nextLine(); if(str.equals("java")) { System.out.println("正常");} else { throw new exceptiontest2(); } } public static void main(String args[]) { try { throw new exceptiontest2(); //改成exceptiontest2 a=new exceptiontest2();程序执行结果一样,为什么会这样? } catch (exceptiontest2 a) { a.printStackTrace(); } } }
java异常处理时抛出异常冲突问题
在使用apache.common.net时自定义了一个异常,想在初始化方法时扑捉到异常后都抛出该异常,但是遇到了问题,代码如雪啊 private boolean intconnect(String host, int port) throws TelnetException { tc = new TelnetClient(); TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler( "VT100", false, false, true, false); EchoOptionHandler echoopt = new EchoOptionHandler(true, false, true, false); SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true); try { tc.addOptionHandler(ttopt); tc.addOptionHandler(echoopt); tc.addOptionHandler(gaopt); tc.connect(host, port); in = tc.getInputStream(); out = new PrintStream(tc.getOutputStream()); return true; } catch (InvalidTelnetOptionException e) { System.err.println("Error registering option handlers: " + e.getMessage()); 01 //throw new TelnetException("Error registering option handlers"); } catch (IOException e) { e.printStackTrace(); 02 throw new TelnetException("Error registering option handlers"); } 03 return false; } 01、02、03行不能同时存在,必须注释掉一行,不然就有编译错误,请高手指点谜经
java 异常和return的执行
public class Test1{ public String testt() throws Exception{ try { int i = 9/0; } catch (Exception e) { throw e; }finally{ return "test1"; } } } ``` public class Test2 { public static void main(String[] args) { Test1 t = new Test1(); String str = "test2"; try{ str = t.testt(); System.out.println(str); }catch(Exception e){ System.out.println(str); } } } ``` 上述代码输出“test1”,有没有大神出来解释下为什么Test2里面的catch没有进去?
Java中关于异常处理的问题
class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 System.out.println("***** 计算开始 *****") ; int temp = 0 ; // 定义局部变量 try{ temp = i / j ; // 计算,但是此处有可能出现异常 }catch(Exception e){ throw e ; }finally{ // 不管是否有异常,都要执行统一出口 System.out.println("***** 计算结束 *****") ; } return temp ; } }; public class ThrowDemo02{ public static void main(String args[]){ Math m = new Math() ; try{ System.out.println("除法操作:" + m.div(10,0)) ; }catch(Exception e){ System.out.println("异常产生:" + e) ; } } }; 问题描述: 1、在以上的代码中,已经对方法div进行抛出异常操作,但还是在可能出现异常的地方又用throw关键字抛出了异常,这样做的目的是不是为了加强代码的健康性?防止方法div有别的异常而没有抛出,所以对整个方法用了thows,而在已知可能抛出的异常语句中又用throw抛出异常? 2、可以简单的把throw理解为是用于抛出语句的异常,而thorws是用于抛出整个方法的异常吗?
Java中直接使用System.getProperty和通过安全控制器获取属性值有什么区别吗?
```//下面的代码来自hashmap,事实上直接使用getProperty也不会受到权限限制 static { String altThreshold = java.security.AccessController.doPrivileged( new sun.security.action.GetPropertyAction( "jdk.map.althashing.threshold")); int threshold; try { threshold = (null != altThreshold) ? Integer.parseInt(altThreshold) : ALTERNATIVE_HASHING_THRESHOLD_DEFAULT; // disable alternative hashing if -1 if (threshold == -1) { threshold = Integer.MAX_VALUE; } if (threshold < 0) { throw new IllegalArgumentException("value must be positive integer."); } } catch(IllegalArgumentException failed) { throw new Error("Illegal value for 'jdk.map.althashing.threshold'", failed); } ALTERNATIVE_HASHING_THRESHOLD = threshold; } ```
Java抛出异常时用e.printStackTrace()怎么会说没有返回值呢?
public Socket getSocket() { try { Socket socket =new Socket("localhost",8088); return socket; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } 这里要报错,没有返回值 public Socket getSocket() throws Exception { try { Socket socket =new Socket("localhost",8088); return socket; } catch (Exception e) { // TODO Auto-generated catch block throw e; } } 这里正确。 不是说都是碰到异常就跳到catch里执行吗,怎么两个结果不相同呢?
有个java 异常问题不解。。
[code="java"] public class ClassA { public ClassA()throws Exception{ // TODO Auto-generated constructor stub try{ throw new RuntimeException("bbbbbbbbbb"); }catch(RuntimeException e){ throw new Exception("cccccccc"+ e.getMessage(),e); } } } [/code] [code="java"] public class CatchExceptionTest { public static void main(String[] args){ try{ Class throttleClass = Class.forName("ClassA"); Constructor c = throttleClass.getConstructor(); ClassA a = (ClassA)c.newInstance(); }catch(RuntimeException ee){ System.out.println("11111111"); System.out.println(ee.getMessage()); }catch(Exception e){ System.out.println("222222222 " + e.toString()); System.out.println(e.getMessage()); } } } [/code] 求主方法执行的结果, 以及出现的原因。。。
java发Email 异常 连接失败
代码大致如下 //发邮件 Properties pros = new Properties(); pros.load(this.getClass().getClassLoader().getResourceAsStream("email_template.properties")); String host = pros.getProperty("host");//获取主机 String uname = pros.getProperty("uname");//获取用户名 String pwd = pros.getProperty("pwd");//获取密码 String from = pros.getProperty("from");//获取发件人 String to = email;; String subject = pros.getProperty("subject");//主题 String content = pros.getProperty("content");//邮件内容 content = MessageFormat.format(content, form.getCode());//替换激活码 Session session = MailUtils.createSession(host, uname, pwd);//得到session Mail mail = new Mail(from, to, subject, content);//创建邮件对象 try { MailUtils.send(session, mail); } catch (MessagingException e) { // TODO Auto-generated catch block throw new RuntimeException(e); } 抛出500异常 严重: Servlet.service() for servlet [UserServlet] in context with path [/bookstore] threw exception java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at cn.itcast.servlet.BaseServlet.service(BaseServlet.java:61) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at cn.itcast.servlet.BaseServlet.service(BaseServlet.java:45) ... 22 more Caused by: java.lang.RuntimeException: javax.mail.AuthenticationFailedException: failed to connect at cn.itcast.bookstore.user.web.servlet.UserServlet.regist(UserServlet.java:111) ... 27 more Caused by: javax.mail.AuthenticationFailedException: failed to connect at javax.mail.Service.connect(Service.java:322) at javax.mail.Service.connect(Service.java:172) at javax.mail.Service.connect(Service.java:121) at javax.mail.Transport.send0(Transport.java:190) at javax.mail.Transport.send(Transport.java:120) at cn.itcast.mail.MailUtils.send(MailUtils.java:91) at cn.itcast.bookstore.user.web.servlet.UserServlet.regist(UserServlet.java:108) ... 27 more 代码把传智的赋值过来也是一样 大概意思就是 链接失败 邮箱也开通了stmp服务 求大神解答
按书上写了一段java捕获异常的代码,不知道问题出在哪里
源代码如下: package com.Sixping.Ncre; public class Rethrow { public static void rt() throws Exception {//定义方法,抛出Exception类的异常 System.out.println("old exception in rt()"); throw new Exception("thrown from rt()"); } public static void wq() throws Throwable {//定义方法,调用rt(),捕获rt()抛出的异常 try { rt(); } catch (Exception e) { System.out.println("Inside wq(),e.printStackTrace():"); e.printStackTrace(); //输出堆栈使用情况 throw e; //重新抛出异常 } } public static void main(String[] args) throws Throwable { try { wq(); //产生被重新抛出的对象 } catch (Exception e) { System.out.println("Caught in main,e.printStackTrace():"); e.printStackTrace(); //再次输出堆栈信息 } } } 运行报错如下: old exception in rt() java.lang.Exception: thrown from rt() at com.Sixping.Ncre.Rethrow.rt(Rethrow.java:6) at com.Sixping.Ncre.Rethrow.wq(Rethrow.java:10) at com.Sixping.Ncre.Rethrow.main(Rethrow.java:19) java.lang.Exception: thrown from rt() at com.Sixping.Ncre.Rethrow.rt(Rethrow.java:6) at com.Sixping.Ncre.Rethrow.wq(Rethrow.java:10) at com.Sixping.Ncre.Rethrow.main(Rethrow.java:19) Inside wq(),e.printStackTrace(): Caught in main,e.printStackTrace(): 求大神解答
关于java异常的问题求解决
import java.io.*; class DivisorIsZeroException extends Exception { public DivisorIsZeroException(String name) { super(name); } } class A { public int divide(int a, int b) throws DivisorIsZeroException { int m = 0; if(0 == b) throw new DivisorIsZeroException("除数不能为零!"); else m = a / b; return m; } } public class testexception1 { public static void main(String[] args) { A aa = new A(); try { aa.divide(6, 0); } catch(Exception e) { e.printStackTrace(); System.out.printf("哈哈,出错喽\n"); } } } 下面是出错信息_ ![图片说明](https://img-ask.csdn.net/upload/201503/19/1426766921_987787.png)
多线程socket编程的问题,使用BIO模式的话,一个线程只能处理一个Socket吗?
我在做一些网络编程相关的学习,写了一个Demo,类似于一个聊天室,有一个WebServer,多个Client,当Client发起连接时,Server创建一个线程来处理,由于Client特别多,我打算使用固定的5个线程来处理这些所有的Client,也就意味着一个线程可能负责处理多个Socket。 我原本的打算是一个Client轮询地去读取每个Socket的字节流,后来发现行不通,在读取第一个Socket的输入流时就卡住了,完全是阻塞的。 代码如下: ``` public void handle() throws IOException, InvalidProtocolException { byte[] buf = new byte[1024]; StringBuilder sb = new StringBuilder(); int readLength; try { for(;;){ readLength = in.read(buf); if (readLength > 0) { sb.append(new String(buf, 0, readLength)); } else { break; } } parse(sb.toString()); } catch (IOException e1) { throw e1; } catch (InvalidProtocolException e2) { throw e2; } } ``` 在in.read这一行处,完全被阻塞,无法做到轮询。 那么是否意味着使用BIO时,一个线程只能处理一个Socket,直到这个Socket关闭? 那么在很多个客户端的情况下,线程数不会爆炸多吗? 求解。
如何在一个方法内返回UTF-8格式的字符串,在另一个方法中调用输出?
``` package com.secutiry.rsa; import java.util.Scanner; public class Prtest { public String Phintx(){ Scanner cc =new Scanner(System.in); //下马这行会报错,选择try catch 或者 throw declaration //选择try catch 则无法return ,选择throw declaration 则在主方法中会报异常 String tt =new String(cc.next().getBytes(),"utf-8"); return tt; } public static void main(String[] args) { Prtest prtest = new Prtest(); String tx = prtest.Phintx(); System.out.println(tx); } } ```
Java 异常
请问如果程序抛出IOException,程序运行结果是什么?如果抛出RuntimeException运行结果又是什么?给出简要说明。 public void fun(){ try{ int i=System.in.read(); if(i==10){ throw new RuntimeException("no input."); } System.out.println("Location 1"); }catch(IOException e){ System.out.println("Location 2"); }finally{ System.out.println("Location 3"); } System.out.println("Location 4"); }
java maile异常 !!!
求救啊!本人在本地测试、和国内的服务器测试时,发送邮件正常。公司在香洪租了个服务器,在上面布属时报错啊,求高手指教啊!代码如下: ``` public class SendMailUtil { private static Properties props=new Properties(); static{ //获取文中的各参数 InputStream is=SendMailUtil.class.getClassLoader().getResourceAsStream("MailPramps.properties"); try { props.load(is); } catch (IOException e) { e.printStackTrace(); } } /** * * @param toAdd 收件人 * @param subject 邮件标题 * @param context 邮件内容 * @throws MessagingException 邮件信息异常 * @throws UnsupportedEncodingException */ public static String sendMail(String toAdd,String subject,String context) { String flagString = null; Authenticator authenticator = new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication(){ String user=props.getProperty("mail.user"); String password=props.getProperty("mail.password"); return new PasswordAuthentication(user,password); } }; // Session mailSession=Session.getDefaultInstance(props, authenticator); Session mailSession=Session.getInstance(props, new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { String user=props.getProperty("mail.user"); String password=props.getProperty("mail.password"); return new PasswordAuthentication(user,password); } }); // Session mailSession=Session.getInstance(props, authenticator); try{ mailSession.setDebug(true); MimeMessage message=new MimeMessage(mailSession) ; InternetAddress from=new InternetAddress(MimeUtility.encodeText("Colamark")+"<"+props.getProperty("mail.user")+">"); message.setFrom(from); InternetAddress to=new InternetAddress(toAdd); message.setRecipient(RecipientType.TO,to); InternetAddress cc=new InternetAddress(MimeUtility.encodeText("Colamark")+"<"+props.getProperty("mail.user")+">"); message.setRecipient(RecipientType.BCC,cc); message.setSubject(subject); message.setContent(context,"text/html;charset=UTF-8"); Transport.send(message); }catch(Exception e){ return "error"; } return flagString; } } ``` 异常如下: ``` public class SendMailUtil { private static Properties props=new Properties(); static{ //获取文中的各参数 InputStream is=SendMailUtil.class.getClassLoader().getResourceAsStream("MailPramps.properties"); try { props.load(is); } catch (IOException e) { e.printStackTrace(); } } /** * * @param toAdd 收件人 * @param subject 邮件标题 * @param context 邮件内容 * @throws MessagingException 邮件信息异常 * @throws UnsupportedEncodingException */ public static String sendMail(String toAdd,String subject,String context) { String flagString = null; Authenticator authenticator = new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication(){ String user=props.getProperty("mail.user"); String password=props.getProperty("mail.password"); return new PasswordAuthentication(user,password); } }; // Session mailSession=Session.getDefaultInstance(props, authenticator); Session mailSession=Session.getInstance(props, new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { String user=props.getProperty("mail.user"); String password=props.getProperty("mail.password"); return new PasswordAuthentication(user,password); } }); // Session mailSession=Session.getInstance(props, authenticator); try{ mailSession.setDebug(true); MimeMessage message=new MimeMessage(mailSession) ; InternetAddress from=new InternetAddress(MimeUtility.encodeText("Colamark")+"<"+props.getProperty("mail.user")+">"); message.setFrom(from); InternetAddress to=new InternetAddress(toAdd); message.setRecipient(RecipientType.TO,to); InternetAddress cc=new InternetAddress(MimeUtility.encodeText("Colamark")+"<"+props.getProperty("mail.user")+">"); message.setRecipient(RecipientType.BCC,cc); message.setSubject(subject); message.setContent(context,"text/html;charset=UTF-8"); Transport.send(message); }catch(Exception e){ return "error"; } return flagString; } } ``` 异常如下: 250-smtp.aliyun-inc.com 250-8BITMIME 250-AUTH=PLAIN LOGIN XALIOAUTH 250-AUTH PLAIN LOGIN XALIOAUTH 250-PIPELINING 250 DSN DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "AUTH=PLAIN", arg "LOGIN XALIOAUTH" DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN XALIOAUTH" DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "DSN", arg "" DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM DEBUG SMTP: AUTH LOGIN command trace suppressed DEBUG SMTP: AUTH LOGIN succeeded DEBUG SMTP: use8bit false MAIL FROM:<user@colamark.cn> 250 Mail Ok RCPT TO:<jingde.liu@colamark.cn> 250 Rcpt Ok RCPT TO:<user@colamark.cn> DEBUG SMTP: exception reading response, THROW: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:124) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:89) at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2182) at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1690) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1118) at javax.mail.Transport.send0(Transport.java:195) at javax.mail.Transport.send(Transport.java:124) at cn.colamark.pc.util.SendMailUtil.sendMail(SendMailUtil.java:87) at cn.colamark.pc.action.user.RegistAction.execute(RegistAction.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java :441) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation. java:280) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflo wInterceptor.java:165) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterce ptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor .java:252) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(Ann otationValidationInterceptor.java:68) 望高手指点啊
如何用java的原生日志记录异常?
``` public class Main { public static void main(String[] args) { try { throw new Exception("Error: a < 10 or a > 100 !!!"); } catch (Exception e) { Logger.getLogger(Main.class.getName()).log(Level.ALL, "aaa", e); } } } ```
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库 回到首页 目录: Python语言高频重点汇总 目录: 1. 函数-传参 2. 元类 3. @staticmethod和@classmethod两个装饰器 4. 类属性和实例属性 5. Python的自省 6. 列表、集合、字典推导式 7. Python中单下划线和双下划线 8. 格式化字符串中的%和format 9. 迭代器和生成器 10...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Qt实践录:开篇
本系列文章介绍笔者的Qt实践之路。
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
一条链接即可让黑客跟踪你的位置! | Seeker工具使用
搬运自:冰崖的部落阁(icecliffsnet) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 请遵守相对应法律规则,禁止用作违法途径,出事后果自负! 上次写的防社工文章里边提到的gps定位信息(如何防止自己被社工或人肉) 除了主动收集他人位置信息以外,我们还可以进行被动收集 (没有技术含量) Seeker作为一款高精度地理位置跟踪工具,同时也是社交工程学(社会工程学)爱好者...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c# 数组类型 泛型约束 c#的赛狗日程序 c# 传递数组 可变参数 c# 生成存储过程 c# list 补集 c#获得所有窗体 c# 当前秒数转成年月日 c#中的枚举 c# 计算校验和 连续随机数不重复c#
立即提问