2016年8月4日 星期四

Rails Debug ByeBug 使用筆記


在程式碼中想要中斷的地方加入 byebug,程式執行到 byebug 這個位置則會停下來讓使用者 debug


// 進入 byebug 頁面
[9, 18] in /Users/akiicat/someplace.rb
    9:     byebug
   10: 
   11:     @message.save!
   12: 
   13: 
=> 14:     @path = conversation_path(@conversation)
   15:   end
   16: 
   17:   private
   18: 
(byebug) d @path


指令說明
  • list: 
    列出程式碼 縮寫為
     l 
    ,
     l- 
    ,
     l= 
  • cont: 
    退出 byebug 讓程式執行完
  • quit: 
    退出 byebug 且結束
  • next: 
    執行到下一個段落 end 縮寫
     n 
  • step: 
    執行下一行 縮寫
     s 
  • display [參數]: 
    印出參數的值 縮寫
     disp 

2016年8月3日 星期三

Javascript try catch throw



  • try 如過錯誤會在 catch 接住把錯誤印出來,而 final 不管有沒有錯誤都會執行

try {
    ...
} 
catch(e) {
    console.log(e);
}
final {
    ...
} 


  • nest try catch throw 則會把錯誤丟到外層

try {
    ...
    try {
        ...
    }
        catch(e) {
        console.log(e);
        throw(e);       // 把錯誤丟到外層
    }  
} 
catch(e) {
    console.log(e);
} 
final {
    ...
}