±¾ÃÕÌâ²âÊÔµÄÊÇÄã¶ÔijЩ¹æÔòµÄÕÆÎճ̶ȣ¬ÕâЩ¹æÔòÓÃÓÚÉùÃ÷´Ó·½·¨ÖÐÅ׳ö²¢±»catchÓï¾ä¿éËù²¶»ñµÄÒì³£¡£ÏÂÃæµÄÈý¸ö³ÌÐòÿһ¸ö¶¼»á´òӡЩʲô£¿²»Òª¼ÙÉèËüÃǶ¼¿ÉÒÔͨ¹ý±àÒ룺
import java.io.IOException;
public class Arcane1 {
public static void main(String[] args) {
try {
System.out.println("Hello world");
} catch(IOException e) {
System.out.println("I've never seen
println fail!");
}
}
}
public class Arcane2 {
public static void main(String[] args) {
try {
// If you have nothing nice to say, say nothing
} catch(Exception e) {
System.out.println("This can't
happen");
}
}
}
interface Type1 {
void f() throws CloneNotSupportedException;
}
interface Type2 {
void f() throws InterruptedException;
}
interface Type3 extends Type1, Type2 {
}
public class Arcane3 implements Type3 {
public void f() {
System.out.printl ......
±¾ÃÕÌâÖеijÌÐòËù½¨Ä£µÄϵͳ£¬½«³¢ÊÔ×Å´ÓÆä»·¾³ÖжÁȡһ¸öÓû§ID£¬Èç¹ûÕâÖÖ³¢ÊÔʧ°ÜÁË£¬ÔòȱʡµØÈÏΪËüÊÇÒ»¸öÀ´±öÓû§¡£¸Ã³ÌÐòµÄ×÷Õß½«Ãæ¶ÔÓÐÒ»¸ö¾²Ì¬ÓòµÄ³õʼ»¯±í´ïʽ¿ÉÄÜ»áÅ׳öÒì³£µÄÇé¿ö¡£ÒòΪJava²»ÔÊÐí¾²Ì¬³õʼ»¯²Ù×÷Å׳ö±»¼ì²éÒì³££¬ËùÒÔ³õʼ»¯±ØÐë°ü×°ÔÚtry-finallyÓï¾ä¿éÖС£ÄÇô£¬ÏÂÃæµÄ³ÌÐò»á´òÓ¡³öÊ²Ã´ÄØ£¿
public class UnwelcomeGuest {
public static final long GUEST_USER_ID = -1;
private static final long USER_ID;
static {
try {
USER_ID = getUserIdfromEnvironment();
} catch (IdUnavailableException e) {
USER_ID = GUEST_USER_ID;
System.out.println("Logging in as guest");
}
}
private static long getUserIdfromEnvironment()
throws IdUnavailableException {
throw new IdUnavailableException();
}
public static void main(String[] args) {
System.out.println("User ID: " + USER_ID);
}
}
class IdUnavailableException extends Exception {
}
¸Ã³ÌÐò¿´ÆðÀ´ºÜÖ±¹Û¡£¶ÔgetUser ......
ÏÂÃæµÄ³ÌÐòÔÚѰ³£µÄHello world³ÌÐòÖÐÌí¼ÓÁËÒ»¶Î²»Ñ°³£µÄÇúÕÛ²Ù×÷¡£ÄÇô£¬Ëü½«»á´òÓ¡³öÊ²Ã´ÄØ£¿
public class HelloGoodbye {
public static void main(String[] args) {
try {
System.out.println("Hello world");
System.exit(0);
} finally {
System.out.println("Goodbye world");
}
}
}
Õâ¸ö³ÌÐò°üº¬Á½¸öprintlnÓï¾ä£ºÒ»¸öÔÚtryÓï¾ä¿éÖУ¬ÁíÒ»¸öÔÚÏàÓ¦µÄfinallyÓï¾ä¿éÖС£tryÓï¾ä¿éÖ´ÐÐËüµÄprintlnÓï¾ä£¬²¢ÇÒͨ¹ýµ÷ÓÃSystem.exitÀ´Ìáǰ½áÊøÖ´ÐС£ÔÚ´Ëʱ£¬Äã¿ÉÄÜÏ£Íû¿ØÖÆÈ¨»áת½»¸øfinallyÓï¾ä¿é¡£È»¶ø£¬Èç¹ûÄãÔËÐиóÌÐò£¬¾Í»á·¢ÏÖËüÓÀÔ¶²»»á˵ÔÙ¼û£ºËüÖ»´òÓ¡ÁËHello world¡£ÕâÊÇ·ñÎ¥±³ÁËÃÕÌâ36ÖÐËù½âÊ͵ÄÔÔòÄØ£¿
²»ÂÛtryÓï¾ä¿éµÄÖ´ÐÐÊÇÕý³£µØ»¹ÊÇÒâÍâµØ½áÊø£¬finallyÓï¾ä¿éȷʵ¶¼»áÖ´ÐС£È»¶øÔÚÕâ¸ö³ÌÐòÖУ¬tryÓï¾ä¿é¸ù±¾¾ÍûÓнáÊøÆäÖ´Ðйý³Ì¡£System.exit·½·¨½«Í£Ö¹µ±Ç°Ï̺߳ÍËùÓÐÆäËûµ±³¡ËÀÍöµÄÏ̡߳£finally×Ó¾äµÄ³öÏÖ²¢²»ÄܸøÓèÏ̼߳ÌÐøÈ¥Ö´ÐеÄÌØÊâȨÏÞ¡£
µ±System.exit±»µ÷ÓÃʱ£¬ÐéÄâ»úÔڹرÕǰҪִÐÐÁ½ÏîÇåÀí¹¤×÷¡£Ê×ÏÈ£¬ËüÖ´ÐÐËùÓеĹرչҹ³²Ù×÷£¬ÕâЩ¹Ò¹³ÒѾע²áµ½ ......
package com.zwc.www.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class OperateEnum {
//first emun
enum PeopleTypeOne{RED,YELLOW,BLACK};
//second emun
public enum PeopleTypeTwo{
RED("a","#111111"),
YELLOW("b","#222222"),
BLACK("c","#333333");
private String value1;
×¢Ò⣺ÕâÀïµÄ¶¨Òå¿ÉÒÔ¶¨ÒåΪfinal ÍêÈ«¿ÉÒÔ±àÒëͨ¹ý£¬¿ÉÒÔÔËÐУ¬ºÃÏñÕâÊÇjavaµÄÒ»¸öbug
private String value2;
×¢ÒâÕâÀïµÄ¹¹Ôì·½·¨£¬Ó¦¸ÃÓëÄãÉÏÃæµÄ¶¨Ò壬±£³ÖÒ»Ö£¬
»¹ÓУº²»Äܶ¨ÒåΪpublic £¬Ö»ÄÜÊÇĬÈϵÄȨÏÞ£¬»òÕßÊÇprivate
PeopleTypeTwo(String value1,String value2){
this.value1 = value1;
this.value2 = value2;
}
×¢Ò⣺ÕâÀïµÄ·½·¨µÄ¶¨Ò壬ÍêÈ«ÊÇΪÁ˳ÌÐòÍâÃæµÄ·ÃÎÊ£¬ÈçÏÂÃæmainº¯ÊýµÄµ÷Óã¬
ÕâÀÆäʵÍêÈ«¿ÉÒÔÓÃÒ»¸öget·½·¨£¬Ö±½Ó·µ»Ø¶ÔÓ¦µÄÖµ£¬Èç #222222 £¬µ«ÊÇΪÁ˲âÊÔÕâÀïÊÇ·ñÖ§³Ömap£¬ËùÒÔ£¬¾ÍÓÃÁ ......
¾¡¹ÜÔÚÒ»¸ö·½·¨ÉùÃ÷Öп´µ½Ò»¸öthrows×Ó¾äÊǺܳ£¼ûµÄ£¬µ«ÊÇÔÚ¹¹ÔìÆ÷µÄÉùÃ÷Öп´µ½Ò»¸öthrows×Ó¾ä¾ÍºÜÉÙ¼ûÁË¡£ÏÂÃæµÄ³ÌÐò¾ÍÓÐÕâÑùµÄÒ»¸öÉùÃ÷¡£ÄÇô£¬Ëü½«´òÓ¡³öÊ²Ã´ÄØ£¿
public class Reluctant {
private Reluctant internalInstance = new Reluctant();
public Reluctant() throws Exception {
throw new Exception("I'm not coming out");
}
public static void main(String[] args) {
try {
Reluctant b = new Reluctant();
System.out.println("Surprise!");
} catch (Exception ex) {
System.out.println("I told you so");
}
}
}
main·½·¨µ÷ÓÃÁËReluctant¹¹ÔìÆ÷£¬Ëü½«Å׳öÒ»¸öÒì³£¡£Äã¿ÉÄÜÆÚÍûcatch×Ó¾äÄܹ»²¶»ñÕâ¸öÒì³££¬²¢ÇÒ´òÓ¡I told you so¡£´Õ½ü×Ðϸ¿´¿´Õâ¸ö³ÌÐò¾Í»á·¢ÏÖ£¬ReluctantʵÀý»¹°üº¬µÚ¶þ¸öÄÚ²¿ÊµÀý£¬ËüµÄ¹¹ÔìÆ÷Ò²»áÅ׳öÒ»¸öÒì³£¡£ÎÞÂÛÅ׳öÄÄÒ»¸öÒì³££¬¿´ÆðÀ´mainÖеÄcatch×Ӿ䶼Ӧ¸Ã²¶»ñËü£¬Òò´ËÔ¤²â¸Ã³ÌÐò½«´òÓ¡I told youÓ¦¸ÃÊÇÒ»¸ö°²È«µÄ¶Ä×¢¡£µ«Êǵ±Äã³¢ÊÔ×ÅÈ¥ÔËÐÐËüʱ£¬¾Í»á·¢ÏÖËüѹ¸ùûÓÐÈ¥×öÕâÀàµÄÊÂÇ飺ËüÅ׳öÁËStackOverflowErrorÒì³ ......
ÏÂÃæµÄ·½·¨½«Ò»¸öÎļþ¿½±´µ½ÁíÒ»¸öÎļþ£¬²¢ÇÒ±»Éè¼ÆÎªÒª¹Ø±ÕËüËù´´½¨µÄÿһ¸öÁ÷£¬¼´Ê¹ËüÅöµ½I/O´íÎóÒ²ÒªÈç´Ë¡£Òź¶µÄÊÇ£¬Ëü²¢·Ç×ÜÊÇÄܹ»×öµ½ÕâÒ»µã¡£ÎªÊ²Ã´²»ÄÜÄØ£¬ÄãÈçºÎ²ÅÄܶ©ÕýËüÄØ£¿
static void copy(String src, String dest) throws IOException {
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(src);
out = new FileOutputStream(dest);
byte[] buf = new byte[1024];
int n;
while ((n = in.read(buf)) > 0)
out.write(buf, 0, n);
} finally {
if (in != null) in.close();
if (out != null) out.close();
}
}
Õâ¸ö³ÌÐò¿´ÆðÀ´ÒÑ¾ÃæÃæ¾ãµ½ÁË¡£ÆäÁ÷Óò£¨inºÍout£©±»³õʼ»¯Îªnull£¬²¢ÇÒеÄÁ÷Ò»µ©±»´´½¨£¬ËüÃÇÂíÉϾͱ»ÉèÖÃΪÕâЩÁ÷ÓòµÄÐÂÖµ¡£¶ÔÓÚÕâЩÓòËùÒýÓõÄÁ÷£¬Èç¹û²»Îª¿Õ£¬ÔòfinallyÓï¾ä¿é»á½«Æä¹Ø±Õ¡£¼´±ãÔÚ¿½±´²Ù×÷Òý·¢ÁËÒ»¸öIOExceptionµÄÇé¿öÏ£¬finallyÓï¾ä¿éÒ²»áÔÚ·½·¨·µ»ØÖ®Ç°Ö´ÐС£³öʲô´íÁËÄØ£¿
ÎÊÌâÔÚfinallyÓï¾ä¿é×ÔÉíÖС£close·½·¨Ò²¿ÉÄ ......