本文簡要介紹ruby語言中 Thread::Backtrace.Threade::Backtrace::limit 的用法。
用法
Threade::Backtrace::limit → integer
返回由 --backtrace-limit 命令行選項設置的最大回溯長度。默認值是-1,這意味著無限的回溯。如果該值為零或正數,則 Exception#full_message 生成的錯誤回溯將被縮寫,並且多餘的行將被 ... 3 levels... 替換
$ ruby -r net/http -e "p Thread::Backtrace.limit; Net::HTTP.get(URI('http://wrong.address'))"
- 1
.../lib/ruby/3.1.0/socket.rb:227:in `getaddrinfo': Failed to open TCP connection to wrong.address:80 (getaddrinfo: Name or service not known) (SocketError)
from .../lib/ruby/3.1.0/socket.rb:227:in `foreach'
from .../lib/ruby/3.1.0/socket.rb:632:in `tcp'
from .../lib/ruby/3.1.0/net/http.rb:998:in `connect'
from .../lib/ruby/3.1.0/net/http.rb:976:in `do_start'
from .../lib/ruby/3.1.0/net/http.rb:965:in `start'
from .../lib/ruby/3.1.0/net/http.rb:627:in `start'
from .../lib/ruby/3.1.0/net/http.rb:503:in `get_response'
from .../lib/ruby/3.1.0/net/http.rb:474:in `get'
.../lib/ruby/3.1.0/socket.rb:227:in `getaddrinfo': getaddrinfo: Name or service not known (SocketError)
from .../lib/ruby/3.1.0/socket.rb:227:in `foreach'
from .../lib/ruby/3.1.0/socket.rb:632:in `tcp'
from .../lib/ruby/3.1.0/net/http.rb:998:in `connect'
from .../lib/ruby/3.1.0/net/http.rb:976:in `do_start'
from .../lib/ruby/3.1.0/net/http.rb:965:in `start'
from .../lib/ruby/3.1.0/net/http.rb:627:in `start'
from .../lib/ruby/3.1.0/net/http.rb:503:in `get_response'
from .../lib/ruby/3.1.0/net/http.rb:474:in `get'
from -e:1:in `<main>'
$ ruby --backtrace-limit 2 -r net/http -e "p Thread::Backtrace.limit; Net::HTTP.get(URI('http://wrong.address'))"
2
.../lib/ruby/3.1.0/socket.rb:227:in `getaddrinfo': Failed to open TCP connection to wrong.address:80 (getaddrinfo: Name or service not known) (SocketError)
from .../lib/ruby/3.1.0/socket.rb:227:in `foreach'
from .../lib/ruby/3.1.0/socket.rb:632:in `tcp'
... 7 levels...
.../lib/ruby/3.1.0/socket.rb:227:in `getaddrinfo': getaddrinfo: Name or service not known (SocketError)
from .../lib/ruby/3.1.0/socket.rb:227:in `foreach'
from .../lib/ruby/3.1.0/socket.rb:632:in `tcp'
... 7 levels...
$ ruby --backtrace-limit 0 -r net/http -e "p Thread::Backtrace.limit; Net::HTTP.get(URI('http://wrong.address'))"
0
.../lib/ruby/3.1.0/socket.rb:227:in `getaddrinfo': Failed to open TCP connection to wrong.address:80 (getaddrinfo: Name or service not known) (SocketError)
... 9 levels...
.../lib/ruby/3.1.0/socket.rb:227:in `getaddrinfo': getaddrinfo: Name or service not known (SocketError)
... 9 levels...
相關用法
- Ruby Time tv_sec用法及代碼示例
- Ruby MatchData.pre_match用法及代碼示例
- Ruby Symbol capitalize用法及代碼示例
- Ruby Matrix lup()用法及代碼示例
- Ruby SizedQueue clear()用法及代碼示例
- Ruby Object.instance_variable_get用法及代碼示例
- Ruby Spotter.spot_op_asgn2_for_name用法及代碼示例
- Ruby Float arg()用法及代碼示例
- Ruby WIN32OLE_METHOD#visible?用法及代碼示例
- Ruby Matrix unitary?()用法及代碼示例
- Ruby Integer.nobits?用法及代碼示例
- Ruby Kernel.local_variables用法及代碼示例
- Ruby StringScanner skip_until用法及代碼示例
- Ruby StringScanner search_full用法及代碼示例
- Ruby Matrix symmetric?()用法及代碼示例
- Ruby CStructEntity.[]=用法及代碼示例
- Ruby BigMath.cos用法及代碼示例
- Ruby Vertex.==用法及代碼示例
- Ruby Array.push用法及代碼示例
- Ruby Date.valid_civil?用法及代碼示例
- Ruby Generator模塊用法及代碼示例
- Ruby Array.hash用法及代碼示例
- Ruby Hash.reject用法及代碼示例
- Ruby ARGF.path用法及代碼示例
- Ruby String.match?用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 limit。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
