<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8781005976975436370</id><updated>2011-12-24T22:49:21.392+08:00</updated><category term='Programing'/><category term='Life n Fun'/><category term='Black White Write'/><category term='Games'/><title type='text'>ＯＮＥ　ＰＥＡＣＥ</title><subtitle type='html'>バカ王に俺はなる！</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-5751906355569615625</id><published>2011-04-22T14:35:00.001+08:00</published><updated>2011-04-22T14:37:31.976+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Black White Write'/><title type='text'>一年半了</title><content type='html'>我真的不適合用這種東西...&lt;br /&gt;實在沒有記東西的習慣&lt;br /&gt;網路讓我覺得很不安全...所以也沒啥秘密好寫的XD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-5751906355569615625?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/5751906355569615625/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2011/04/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/5751906355569615625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/5751906355569615625'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2011/04/blog-post.html' title='一年半了'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-4013570872909303604</id><published>2009-10-14T10:26:00.000+08:00</published><updated>2009-10-14T10:28:29.254+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>PS3 Card 哼哼</title><content type='html'>&lt;a href="http://ps3trophycard.com/profile/farlandx"&gt;&lt;img src="http://card.mmos.com/psn/profile/fa/r/FarlandX/card.png" border="0" alt="farlandx" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;終於在上星期五(2009/10/09)三機制霸了! 真開心~&lt;br /&gt;這是我的玩家卡XD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-4013570872909303604?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/4013570872909303604/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/10/ps3-card.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/4013570872909303604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/4013570872909303604'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/10/ps3-card.html' title='PS3 Card 哼哼'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-2632181797310011684</id><published>2009-09-15T10:19:00.003+08:00</published><updated>2009-09-15T10:22:20.325+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life n Fun'/><title type='text'>抓yam天空部落mp3的方法</title><content type='html'>將原網址 http://mymedia.yam.com/m/#####&lt;br /&gt;改為 http://mymedia.yam.com/api/m/?pID=##### 就能看到mp3路徑了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-2632181797310011684?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/2632181797310011684/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/09/yammp3.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/2632181797310011684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/2632181797310011684'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/09/yammp3.html' title='抓yam天空部落mp3的方法'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-7391657887824604150</id><published>2009-08-03T16:47:00.001+08:00</published><updated>2009-08-03T16:48:45.237+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Black White Write'/><title type='text'>XP舊注音輸入法</title><content type='html'>&lt;a href="http://www.xun6.com/file/5d6b3d908/xp-舊注音輸入法.exe.html"&gt;載點&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;果然還是舊的輸入法好用,Windows 7和VISTA的注音10.0實在很難用&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-7391657887824604150?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/7391657887824604150/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/08/xp.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/7391657887824604150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/7391657887824604150'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/08/xp.html' title='XP舊注音輸入法'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-1277312835383676302</id><published>2009-08-02T16:36:00.003+08:00</published><updated>2009-08-02T16:46:55.677+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life n Fun'/><title type='text'>生平第一台NB - SONY VAIO SR46TD/B入手</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aeqclUFAB8Y/SnVQNKnfKjI/AAAAAAAAABQ/eoxG9gVt21o/s1600-h/%E5%BD%B1%E5%83%8F089.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_aeqclUFAB8Y/SnVQNKnfKjI/AAAAAAAAABQ/eoxG9gVt21o/s320/%E5%BD%B1%E5%83%8F089.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5365282718200310322" /&gt;&lt;/a&gt;&lt;br /&gt;嗯...又敗家了XD&lt;br /&gt;不過這台用起來還滿順手的,巧克力按鍵好棒喔!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-1277312835383676302?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/1277312835383676302/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/08/nb-sr46tdb.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/1277312835383676302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/1277312835383676302'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/08/nb-sr46tdb.html' title='生平第一台NB - SONY VAIO SR46TD/B入手'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aeqclUFAB8Y/SnVQNKnfKjI/AAAAAAAAABQ/eoxG9gVt21o/s72-c/%E5%BD%B1%E5%83%8F089.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-7506803801455196395</id><published>2009-07-24T09:57:00.002+08:00</published><updated>2009-07-24T10:00:01.580+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programing'/><title type='text'>MessageBoxTimeout</title><content type='html'>using System.Runtime.InteropServices;&lt;br /&gt;using System.Threading;&lt;br /&gt;&lt;br /&gt;class MessageBoxTimeout&lt;br /&gt;{&lt;br /&gt;    [DllImport("kernel32.dll")]&lt;br /&gt;    private static extern uint GetCurrentThreadId();&lt;br /&gt;    private delegate int EnumWindowsProc(IntPtr hWnd, IntPtr lParam);&lt;br /&gt;&lt;br /&gt;    [DllImport("user32.dll")]&lt;br /&gt;    private static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);&lt;br /&gt;&lt;br /&gt;    [DllImport("user32.dll", SetLastError = true)]&lt;br /&gt;    private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);&lt;br /&gt;&lt;br /&gt;    [DllImport("user32.dll")]&lt;br /&gt;    private static extern int GetClassName(IntPtr hWnd, [Out] StringBuilder lpClassName, int nMaxCount);&lt;br /&gt;&lt;br /&gt;    [DllImport("user32.dll")]&lt;br /&gt;    private static extern bool IsWindowEnabled(IntPtr hWnd);&lt;br /&gt;&lt;br /&gt;    [DllImport("user32.dll", SetLastError = true)]&lt;br /&gt;    [return: MarshalAs(UnmanagedType.Bool)]&lt;br /&gt;&lt;br /&gt;    private static extern bool PostMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);&lt;br /&gt;&lt;br /&gt;    private class TimerThread&lt;br /&gt;    {&lt;br /&gt;        private readonly DateTime timeoutTime;&lt;br /&gt;        private readonly uint currentThreadId;&lt;br /&gt;        private bool terminateFlag;&lt;br /&gt;        private readonly Thread thread;&lt;br /&gt;&lt;br /&gt;        public TimerThread(int timeoutMillisec)&lt;br /&gt;        {&lt;br /&gt;            timeoutTime = DateTime.Now.AddMilliseconds(timeoutMillisec);&lt;br /&gt;            currentThreadId = GetCurrentThreadId();&lt;br /&gt;            terminateFlag = false;&lt;br /&gt;            thread = new Thread(ThreadProc);&lt;br /&gt;            thread.Start();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void ThreadProc()&lt;br /&gt;        {&lt;br /&gt;            while (!terminateFlag)&lt;br /&gt;            {&lt;br /&gt;                Thread.Sleep(100);&lt;br /&gt;                if (DateTime.Now &gt; timeoutTime)&lt;br /&gt;                {&lt;br /&gt;                    EnumWindows(EnumWindowsProc, new IntPtr(0));&lt;br /&gt;                    return;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private int EnumWindowsProc(IntPtr hWnd, IntPtr lParam)&lt;br /&gt;        {&lt;br /&gt;            uint processId;&lt;br /&gt;            uint threadId;&lt;br /&gt;            threadId = GetWindowThreadProcessId(hWnd, out processId);&lt;br /&gt;            if (threadId == currentThreadId)&lt;br /&gt;            {&lt;br /&gt;                StringBuilder className = new StringBuilder("", 256);&lt;br /&gt;                GetClassName(hWnd, className, 256);&lt;br /&gt;                if (className.ToString() == "#32770" &amp;&amp; IsWindowEnabled(hWnd))&lt;br /&gt;                {&lt;br /&gt;                    const int WM_COMMAND = 0x111;&lt;br /&gt;                    PostMessage(hWnd, WM_COMMAND, new IntPtr(2), new IntPtr(0));&lt;br /&gt;                    return 0;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            return 1;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public void Terminate()&lt;br /&gt;        {&lt;br /&gt;            terminateFlag = true;&lt;br /&gt;            thread.Join();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static DialogResult Show(string text, int timeoutMillsec)&lt;br /&gt;    {&lt;br /&gt;        TimerThread tt = new TimerThread(timeoutMillsec);&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            return MessageBox.Show(text);&lt;br /&gt;        }&lt;br /&gt;        finally&lt;br /&gt;        {&lt;br /&gt;            tt.Terminate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static DialogResult Show(string text, string caption, int timeoutMillsec)&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        TimerThread tt = new TimerThread(timeoutMillsec);&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            return MessageBox.Show(text, caption);&lt;br /&gt;        }&lt;br /&gt;        finally&lt;br /&gt;        {&lt;br /&gt;            tt.Terminate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, int timeoutMillsec)&lt;br /&gt;    {&lt;br /&gt;        TimerThread tt = new TimerThread(timeoutMillsec);&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            return MessageBox.Show(text, caption, buttons);&lt;br /&gt;        }&lt;br /&gt;        finally&lt;br /&gt;        {&lt;br /&gt;            tt.Terminate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, int timeoutMillsec)&lt;br /&gt;    {&lt;br /&gt;        TimerThread tt = new TimerThread(timeoutMillsec);&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            return MessageBox.Show(text, caption, buttons, icon);&lt;br /&gt;        }&lt;br /&gt;        finally&lt;br /&gt;        {&lt;br /&gt;            tt.Terminate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, int timeoutMillsec)&lt;br /&gt;    {&lt;br /&gt;        TimerThread tt = new TimerThread(timeoutMillsec);&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            return MessageBox.Show(text, caption, buttons, icon, defaultButton);&lt;br /&gt;        }&lt;br /&gt;        finally&lt;br /&gt;        {&lt;br /&gt;            tt.Terminate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, int timeoutMillsec)&lt;br /&gt;    {&lt;br /&gt;        TimerThread tt = new TimerThread(timeoutMillsec);&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            return MessageBox.Show(text, caption, buttons, icon, defaultButton, options);&lt;br /&gt;        }&lt;br /&gt;        finally&lt;br /&gt;        {&lt;br /&gt;            tt.Terminate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-7506803801455196395?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/7506803801455196395/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/07/messageboxtimeout.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/7506803801455196395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/7506803801455196395'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/07/messageboxtimeout.html' title='MessageBoxTimeout'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-8527090332826898683</id><published>2009-07-05T23:44:00.002+08:00</published><updated>2009-07-06T00:26:47.526+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life n Fun'/><title type='text'>今天終於實現我小小的夢想了</title><content type='html'>&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/pics/?action=view&amp;current=066.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/pics/066.jpg" border="0" alt="Photobucket"&gt;&lt;/a&gt;&lt;br /&gt;這顆樹上爬滿了松鼠,雖然拍到的不多,但上面確實有將近10隻哦!!&lt;br /&gt;&lt;br /&gt;小時候每週日老媽都會帶我跟我弟到台北靈糧堂做禮拜&lt;br /&gt;討厭基督教的我,總是會在兒童主日學開始的時候逃出去亂逛&lt;br /&gt;但那附近只有一個地方能讓我逛,就是大安森林公園&lt;br /&gt;&lt;br /&gt;當時的大安森林公園才剛開始建設,很多樹都是剛移過去&lt;br /&gt;所以整遍地看起來一點也沒有森林的感覺&lt;br /&gt;從那時我就在心中默默許下一個願望「將來等這些樹長大我一定要來做森林浴」&lt;br /&gt;之前想到這個願望的時候總是沒辦法過來&lt;br /&gt;&lt;br /&gt;直到今天......終於實現我小小的夢想了!&lt;br /&gt;果然樹都長高的樣子很棒,在雨後的樹林中漫步也很浪漫&lt;br /&gt;且身旁有一個很重要的人陪著,讓我洗了一個很棒的森林浴:D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-8527090332826898683?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/8527090332826898683/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/07/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/8527090332826898683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/8527090332826898683'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/07/blog-post.html' title='今天終於實現我小小的夢想了'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i618.photobucket.com/albums/tt266/Farlandx/pics/th_066.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-5113345301796311137</id><published>2009-06-18T20:46:00.004+08:00</published><updated>2009-06-18T21:13:26.135+08:00</updated><title type='text'>夢幻逸品 - N97 &lt;我的第一篇超不專業開箱文&gt;</title><content type='html'>※手邊沒有好的DC或任何好的拍照工具,只好以NOKIA 5310來拍了orz,傷眼請見諒&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=007.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/007.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;主角N97與moshi ipouch手機袋的袋子&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=008.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/008.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;N97的盒子非常普通,卻散發著獨特的魅力&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=009fix.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/009fix.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;IME code,一定要拍一下的啦...雖然不知道為什麼XD&lt;br /&gt;&lt;br /&gt;接著,我的心跳以每秒20下的心跳緩緩地打開盒蓋,那種感覺就像剛做過一樣.....&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=010.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/010.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;瞎米!?竟然還有一層!再看著上面的NOKIA.COM.TW貼紙...&lt;br /&gt;彷彿好不容易解開眼前女孩的薄衫,沒想到裡面還穿著一件只印有YG mark的阿嬤衣一樣&lt;br /&gt;&lt;br /&gt;沒關係,再接再厲...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=011fix.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/011fix.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;終於見到它了! N-9-7!! 我夢寐以求的手機啊!!!&lt;br /&gt;旁邊是隨機附贈的觸控筆和電池,這觸控筆的造型還挺酷的,光看外表還真看不出來呢&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=012.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/012.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;壓在下面的配件們與說明書,還有papago的sn哦!(啊,有手震)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=013.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/013.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;來一張大合照~&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=014.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/014.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;N97與未拆封的moshi ipouch&lt;br /&gt;&lt;br /&gt;&lt;a href="http://s618.photobucket.com/albums/tt266/Farlandx/N97/?action=view&amp;amp;current=015.jpg" target="_blank"&gt;&lt;img src="http://i618.photobucket.com/albums/tt266/Farlandx/N97/015.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;將N97穿上衣服,充滿魅力與神秘感的完全黑色正是我的style!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;小小的把玩了一下N97,到目前為止果然沒讓我失望&lt;br /&gt;沒有網路上看見的滑蓋軸組裝問題,沒有白畫面的斑馬紋,手機鎖解開背光不亮只是設定問題&lt;br /&gt;手機重量也比離開不久的X1輕好多&lt;br /&gt;剛從WM轉到S60更不會感覺到任何LAG,操作順暢度就如同我的眼淚...停不下來啊啊啊啊啊!!&lt;br /&gt;&lt;br /&gt;不愧是讓我賣了一堆東西才得到的夢幻逸品 - N97&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-5113345301796311137?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/5113345301796311137/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/06/n97.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/5113345301796311137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/5113345301796311137'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/06/n97.html' title='夢幻逸品 - N97 &lt;我的第一篇超不專業開箱文&gt;'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i618.photobucket.com/albums/tt266/Farlandx/N97/th_007.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-6255246491584199538</id><published>2009-06-05T19:01:00.001+08:00</published><updated>2009-06-05T19:01:55.860+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programing'/><title type='text'></title><content type='html'>兩個不錯的網站&lt;br /&gt;http://home.educities.edu.tw/wanker742126/index.html&lt;br /&gt;http://ljh.ee.nchu.edu.tw/~cch/program/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-6255246491584199538?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/6255246491584199538/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/06/httphome.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/6255246491584199538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/6255246491584199538'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/06/httphome.html' title=''/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-1470797724003447846</id><published>2009-06-03T10:54:00.000+08:00</published><updated>2009-06-03T10:59:25.854+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>The Sims 3 初體驗</title><content type='html'>&lt;pre&gt;昨天一下班就開開心心跑去7-11領巴哈訂的綠水晶版&lt;br /&gt;包裝做得還算不錯,綠水晶也很有裝飾價值&lt;br /&gt;(我看巴哈有不少人說蓋子很鬆,所以我沒拆orz)&lt;br /&gt;&lt;br /&gt;回到家吃完飯後大約是八點,開始安裝前發現一個很令人頭大的事&lt;br /&gt;那就是DVD卡榫有夠緊,片子難拿到爆...後來玩完要放回去的時候也超難放&lt;br /&gt;我很怕太用力就把DVD壓碎,因此決定下次玩完要用其它光碟盒來收了=0=&lt;br /&gt;&lt;br /&gt;開始安裝的時候大概是八點五分吧&lt;br /&gt;後來我看安裝進度有點慢,就先跑去洗澡&lt;br /&gt;最後到九點十五分才裝完,有沒有這麼慢!? 說明書都快被我翻到爛掉了XD&lt;br /&gt;值得一提的是,綠水晶版裡面有送一個很low的攻略&lt;br /&gt;玩過前作的人可能會沒啥興趣,但我覺得裡面教人火燒小人還挺有趣的&lt;br /&gt;&lt;br /&gt;安裝完後,我又到TheSims3.com註冊帳號與領取小車車&lt;br /&gt;本來想把新的鎮也下載下來的,但有9x mb...我實在按捺不住想玩的心情啦!&lt;br /&gt;&lt;br /&gt;PO一下我的配備&lt;br /&gt;OS  Windows XP sp3&lt;br /&gt;CPU E8400&lt;br /&gt;VGA 9600GT 512mb&lt;br /&gt;RAM DDR2 800 4G (在XP只抓到3.25G)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;終於..終於可以開始遊戲啦!&lt;br /&gt;讀取方面,除了剛開啟遊戲需要做系統設定會比較久一點,之後的讀取就很快了&lt;br /&gt;不過存檔超慢....害我不太想存檔QQ&lt;br /&gt;&lt;br /&gt;花了一個半小時創造了以一個男小人為主加上一對兄妹的三人家庭&lt;br /&gt;我的設定是:&lt;br /&gt;一名內心邪惡卻又充滿正義感的矛盾小男生,立志成為一名國際間諜&lt;br /&gt;因為與生俱來的好運與社交天份使得身旁的人常哭笑不得,但又很喜歡他&lt;br /&gt;&lt;br /&gt;現在他離開學校到了新的小鎮發展,正愁身上coco不太夠時&lt;br /&gt;巧遇學生時代常被他捉弄的女孩和她哥哥,他們也打算到這個新小鎮生活&lt;br /&gt;&lt;br /&gt;女孩自從小時候看過某知名料理動畫後,非常崇拜裡頭的主角 -- 小擔家&lt;br /&gt;從此她便愛上廚藝,並立志成為一名特級廚師&lt;br /&gt;每當她做料理時,旁人總會隱隱約約看到金色的蛇從背後飛出來&lt;br /&gt;就如同動畫片中的小擔家一樣,這代表她很有料理天份嗎?亦或是錯覺而已?&lt;br /&gt;女孩也非常愛乾淨,只要看到髒亂就會像斷了臍帶的機器人般開始暴走&lt;br /&gt;非得把環境整理到一塵不染才肯罷休&lt;br /&gt;也許她老哥也多少受到了點影響,比一般人還愛乾淨呢&lt;br /&gt;&lt;br /&gt;老哥是位熱愛電子搖滾樂的人,學生時代曾經組過一個學生搖滾樂團&lt;br /&gt;而他們的口號「Go To KFC」到現在還被學弟妹流傳著呢&lt;br /&gt;因為表演太High的關係,常常會在舞台上摔吉他或者表演用弦剔牙這項絕技&lt;br /&gt;造成設備時常壞掉,在社團經費不足的情況下,只好自己修理&lt;br /&gt;久而久之,他的手變得很巧,巧到能夠把100個硬幣直直的立起來哦!&lt;br /&gt;現在他的夢想是成為一名搖滾巨星!&lt;br /&gt;&lt;br /&gt;三人在小鎮相遇,也正為相同的事情煩惱著&lt;br /&gt;因此他們決定,大家合資買間小房子一同生活&lt;br /&gt;湊一湊正好兩萬元整,買了一間兩房一衛的小屋&lt;br /&gt;小男孩比兄妹多投資一塊兩毛五,因此成為這間小屋的主導者&lt;br /&gt;我想這是陰謀吧....&lt;br /&gt;接下來他他還有她的生活會發生什麼有趣的事呢? 敬請拭目以待!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;由於太久沒玩二代,所以我除了他們睡覺的時候都是以正常速度在玩&lt;br /&gt;一邊看三個小人的動作,一邊熟悉系統&lt;br /&gt;以二代主程式的觀點來比較,三代真的很棒&lt;br /&gt;只是人物髮型、衣服、物件樣式仍舊很少,擺明之後會狠狠騙好幾道&lt;br /&gt;除此之外,動作細節、物件精細度我都非常滿意&lt;br /&gt;看到車子與路人從家門前走過才想到,三代的世界是完全開放的&lt;br /&gt;把地圖拉到最大以後,感動到眼淚都快滴下來了呢&lt;br /&gt;現在可以在遊戲進行時,隨意的瀏覽小鎮各處囉&lt;br /&gt;&lt;br /&gt;最後我讓三人在第二天的報紙上找到工作後就存檔睡覺囉&lt;br /&gt;雖然只有短短的三個多小時,但我在按下離開的時候心真的很癢&lt;br /&gt;The Sims的魔力太強啦!!! 在遊戲的時候還一邊用MSN把姊也騙去買一套玩XD&lt;br /&gt;(小發現:全螢幕模式下切到Windows的速度非常快..切回去也不用讀很久)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-1470797724003447846?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/1470797724003447846/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/06/sims-3.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/1470797724003447846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/1470797724003447846'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/06/sims-3.html' title='The Sims 3 初體驗'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-152553563370553290</id><published>2009-06-01T23:34:00.001+08:00</published><updated>2009-06-01T23:37:18.648+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Black White Write'/><title type='text'>YA! 新網誌</title><content type='html'>剛小小的修改了一下套用的CSS&lt;br /&gt;網頁語言不是我的專長啊!!&lt;br /&gt;看了五分鐘左右.....沒想到第一發就給我改中了XD&lt;br /&gt;&lt;br /&gt;真是開心啊!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-152553563370553290?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/152553563370553290/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/06/ya.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/152553563370553290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/152553563370553290'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/06/ya.html' title='YA! 新網誌'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-6686458195360463451</id><published>2009-06-01T22:43:00.000+08:00</published><updated>2009-06-01T22:46:21.677+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programing'/><title type='text'>PTT轉錄 - 例外處理</title><content type='html'>作者: littleshan (我要加入劍道社!) 看板: C_and_CPP&lt;br /&gt;標題: Re: [問題] 例外處理&lt;br /&gt;時間: Sun May 31 12:26:26 2009&lt;br /&gt;&lt;br /&gt;其實只要注意到現代化的 OOP 語言 (C++、Java、C#、Python、Ruby 等)，&lt;br /&gt;幾乎都提供 exception 的支援，大概就可以了解 exception 相對於 error&lt;br /&gt;code 具有相當大的優勢。&lt;br /&gt;&lt;br /&gt;Exception 最重要的優點在於你可以分離「正常程序」與「錯誤處理程序」，&lt;br /&gt;讓你的程式碼變得清楚易懂。&lt;br /&gt;&lt;br /&gt;這是一段實際存在的程式碼，來源是一個稱為 Minibase 的教學用資料庫系統。&lt;br /&gt;他們使用 error code 來作為錯誤處理的方式：&lt;br /&gt;&lt;br /&gt;   while( ((SortedPage*)cur_page)-&gt;get_type() != LEAF ){&lt;br /&gt;       ((BTIndexPage*)cur_page)-&gt;get_page_no(key, header.keytype, next_id);&lt;br /&gt;       st = MINIBASE_BM-&gt;unpinPage(cur_id); // 正常程序&lt;br /&gt;       if(st != OK)&lt;br /&gt;           return MINIBASE_CHAIN_ERROR(BTREE, st); // 錯誤處理&lt;br /&gt;&lt;br /&gt;       st = MINIBASE_BM-&gt;pinPage(next_id, cur_page); // 正常程序&lt;br /&gt;       if(st != OK)&lt;br /&gt;           return MINIBASE_CHAIN_ERROR(BTREE, st); // 錯誤處理&lt;br /&gt;&lt;br /&gt;       cur_id = next_id;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;你會發現，只要你呼叫了任何會回傳 error code 的函式，你都必須在其後&lt;br /&gt;馬上檢查 error code。最糟糕的是，大部份的情況下，你就算發現有 error&lt;br /&gt;發生，但底層函式並不知道該如何處理，只能把錯誤往上層丟，使得你必須&lt;br /&gt;浪費大量的時間去寫重覆的 if(st != OK) return ... 程式碼。只要稍微翻&lt;br /&gt;一下整個 Minibase 的原始碼，就會發現一行正常程序拌隨兩行錯誤處理的&lt;br /&gt;程式碼，嚴重影響程式碼的可讀性。有時甚至可以看到程式設計師偷懶的地&lt;br /&gt;方：&lt;br /&gt;&lt;br /&gt;   if ((st = MINIBASE_BM-&gt;pinPage(curPageNo, curPage)) != OK)&lt;br /&gt;       assert(0); // 這行很慘，因為 release mode 不會有 assert error！&lt;br /&gt;&lt;br /&gt;這種大量而重覆工作，就應該交給 compiler 來完成。Exception 的好處就在&lt;br /&gt;此：當你的函式不知道怎麼處理錯誤，就不需要寫錯誤處理的程式碼，exception&lt;br /&gt;發生時，會把控制權一層層往上傳遞，直到它被抓住 (catch) 為止。&lt;br /&gt;&lt;br /&gt;有板友提到因為 C++ 沒有 GC，因此使用 exception 容易產生 memory leak 的&lt;br /&gt;問題，其實 exception 可能造成的危害不只如此，因為會遺失的「資源」並不只&lt;br /&gt;有記憶體。比如說已建立的網路連線、mutex、檔案寫入鎖定等等，都可能因為&lt;br /&gt;exception 的發生，而導致這些資源持續被占用。GC 只管記憶體，因此無法釋放&lt;br /&gt;這類資源。Java 有 GC，也大量使用 exception 作為錯誤處理，同樣也會發生這&lt;br /&gt;類資源遺失的問題。&lt;br /&gt;&lt;br /&gt;事實上，不管你如何處理錯誤，只要你要求「錯誤發生時，應該馬上中斷並回傳到&lt;br /&gt;上一層」，那麼就必需面對資源遺失的問題，即使你使用 error code 亦同。唯一&lt;br /&gt;的不同點在於使用 error code 時，你明確地使用 return 來離開函式，因此你比&lt;br /&gt;較容易確定發生錯誤時的流程，至於 exception 就沒那麼簡單了。&lt;br /&gt;&lt;br /&gt;為了確保你的資源不會遺失，一般來說會使用 RAII 的手法：產生一個物件，在建&lt;br /&gt;構式中取得資源，並在解構式中釋放資源。比如說你原本的程式如下：&lt;br /&gt;&lt;br /&gt;   void foo(FILE* f)&lt;br /&gt;   {&lt;br /&gt;       flock(fileno(f), LOCK_EX); // lock the file&lt;br /&gt;       do_something(f);&lt;br /&gt;       flock(fileno(f), LOCK_UN); // unlock the file&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;這段程式碼並非 exception safe，因為 do_something() 產生 exception 時，其後&lt;br /&gt;的 flock 操作並不會被執行，因此該檔案會保持在被鎖定的狀態。RAII 的方法如下&lt;br /&gt;&lt;br /&gt;   class FileLocker {&lt;br /&gt;       public:&lt;br /&gt;           explict FileLocker(FILE* f) : fd(fileno(f))&lt;br /&gt;           {&lt;br /&gt;               flock(fd, LOCK_EX);&lt;br /&gt;           }&lt;br /&gt;           ~FileLocker()&lt;br /&gt;           {&lt;br /&gt;               flock(fd, LOCK_UN);&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;       private:&lt;br /&gt;           FileLocker(const FileLocker&amp;amp;);      // prevent copy constructor&lt;br /&gt;           FileLocker&amp;amp; operator=(const FileLocker&amp;amp;); // and copy assignment&lt;br /&gt;           int fd;&lt;br /&gt;   };&lt;br /&gt;&lt;br /&gt;   void foo(FILE* f)&lt;br /&gt;   {&lt;br /&gt;       FileLocker lock(f); // lock the file&lt;br /&gt;       do_something(f);&lt;br /&gt;       // The dtor of FileLocker will unlock the file automatically&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;不管 do_something() 有沒有產生 exception，FileLocker 物件在脫離 foo()&lt;br /&gt;函式時都會進行解構，進而確保檔案會解鎖。而這也是我很鼓勵大家多用 vector，&lt;br /&gt;少用 new 來達成動態陣列的原因：&lt;br /&gt;&lt;br /&gt;   void foo(int n)&lt;br /&gt;   {&lt;br /&gt;       int* a = new int[n];&lt;br /&gt;       do_something(a);        // FIXME: may throw exception!&lt;br /&gt;       delete [] a;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   void bar(int n)&lt;br /&gt;   {&lt;br /&gt;       vector a(n);&lt;br /&gt;       do_something(a);   // a will be released even if exception occurs&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;說了這麼多，再來說說 exception 的缺點吧。我個人覺得 exception 主要有兩&lt;br /&gt;項缺點：&lt;br /&gt;&lt;br /&gt;1. 效率不佳。這邊的效率不僅僅是「compiler 為了這個功能而幫你產生額外的&lt;br /&gt;   程式碼」，還包含「你為了達成 exception safety 而犧牲的效能」。在&lt;br /&gt;   Exceptional C++ 一書中提到，若你的 class 包含其它物件，而你想寫一個&lt;br /&gt;   exception safe copy assignment，多半必須依賴「產生暫時物件」加上&lt;br /&gt;   「nothrow swapping」的手法來達成。然而「產生暫時物件」顯然會犧牲效&lt;br /&gt;   率，nothrow swapping 則要求所包含的其它物件配置在 heap，同樣也是犧&lt;br /&gt;   牲效率。&lt;br /&gt;&lt;br /&gt;   丟出 exception 讓上層函式接受，是一件很花時間的動作，因為 compiler&lt;br /&gt;   多半假設 exception 並不常發生，自然也不太會在這方面尋求最佳化。&lt;br /&gt;&lt;br /&gt;2. Exception 需要在軟體設計之初就被納入設計考量內，這也是 Google 不採用&lt;br /&gt;   exception 的原因。已寫好、未使用 exception 的程式碼，若想改用 exception&lt;br /&gt;   來處理錯誤，往往會打破原本的設計架構。而這樣的程式碼勢必也無法和其它&lt;br /&gt;   有使用 exception 的程式碼互相合作。因此 Google 才基於實務考量，全面禁&lt;br /&gt;   用 exception。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-6686458195360463451?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/6686458195360463451/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/06/ptt.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/6686458195360463451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/6686458195360463451'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/06/ptt.html' title='PTT轉錄 - 例外處理'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8781005976975436370.post-6010293260996835760</id><published>2009-06-01T22:42:00.001+08:00</published><updated>2009-06-01T22:46:10.283+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life n Fun'/><title type='text'>動物園一日遊</title><content type='html'>上一次去動物園是十年前左右的事了,那時候企鵝剛到台灣,動物園塞滿了人&lt;br /&gt;&lt;br /&gt;我跟一群朋友因為假日沒地方玩,加上女朋友想要看,就跑去了&lt;br /&gt;&lt;br /&gt;前天去動物園是陪邑華去的,因為他說這輩子沒去過XD&lt;br /&gt;&lt;br /&gt;我覺得一生中至少要去一次,雖然沒有刺激的遊樂設施,但非常適合假日去玩&lt;br /&gt;&lt;br /&gt;重點是CP值非常高....只要60元的門票,慢慢逛竟然能夠從早上九點半逛到五點閉館!!XD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這次到動物園也有主角能看,不用說,肯定是今年最大力的貓熊大大&lt;br /&gt;&lt;br /&gt;現在只要入場就會發號碼牌,我和邑華拿到的是10:40~10:49分&lt;br /&gt;&lt;br /&gt;不過我們卻看了大約40分鐘吧,哈哈...熊貓真的很可愛,一舉一動都能令人看到入迷呢&lt;br /&gt;&lt;br /&gt;閉館後,我們去台北車站那間魔法咖哩邊吃晚餐邊聊天,沒想到就這樣一直聊,聊到10點才捨得走&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;前天發生太多有趣的事了,只是我很懶,若一件一件po上來肯定要分上中下集啦XD&lt;br /&gt;&lt;br /&gt;總而言之,這天我很開心,希望邑華也很開心&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8781005976975436370-6010293260996835760?l=farlandx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://farlandx.blogspot.com/feeds/6010293260996835760/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://farlandx.blogspot.com/2009/06/blog-post_01.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/6010293260996835760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8781005976975436370/posts/default/6010293260996835760'/><link rel='alternate' type='text/html' href='http://farlandx.blogspot.com/2009/06/blog-post_01.html' title='動物園一日遊'/><author><name>Farland</name><uri>http://www.blogger.com/profile/14310107228834308355</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_aeqclUFAB8Y/SiNv0E4vQVI/AAAAAAAAAAM/z73SS4kXeOw/S220/%E5%8D%A1%E9%AD%AF.jpg'/></author><thr:total>0</thr:total></entry></feed>
