ライブラリ
- ビルトイン (5468)
- bigdecimal (67)
-
bigdecimal
/ math (66) -
bigdecimal
/ util (33) - cmath (78)
- coverage (22)
- csv (11)
- date (22)
- fiber (8)
- fiddle (22)
- fileutils (83)
-
irb
/ cmd / load (11) - json (33)
- matrix (283)
- monitor (16)
-
net
/ http (99) - objspace (33)
- open-uri (4)
- openssl (220)
- optparse (396)
- pathname (44)
- prime (22)
- psych (66)
- pty (11)
- rake (22)
- readline (11)
- resolv (22)
-
rexml
/ document (11) -
ripper
/ lexer (8) - rubygems (11)
-
rubygems
/ installer (22) -
rubygems
/ requirement (11) -
rubygems
/ source _ index (11) -
rubygems
/ version (11) - securerandom (7)
- set (220)
- socket (33)
- stringio (314)
- strscan (55)
-
test
/ unit (1) - tsort (64)
- uri (55)
- win32ole (77)
クラス
-
ARGF
. class (22) - Addrinfo (11)
- Array (489)
- BasicObject (33)
- BigDecimal (33)
- Binding (11)
- CSV (11)
- Complex (66)
- Coverage (22)
- Data (14)
- Date (22)
- Dir (367)
-
Encoding
:: Converter (22) - Enumerator (60)
-
Enumerator
:: Lazy (165) - Exception (95)
- Fiber (48)
-
Fiddle
:: Pointer (22) - File (329)
-
File
:: Stat (22) - Float (41)
- FrozenError (5)
-
Gem
:: Installer (22) -
Gem
:: Requirement (11) -
Gem
:: SourceIndex (11) -
Gem
:: Version (11) - Hash (84)
- IO (498)
-
IRB
:: ExtendCommand :: Load (11) - Integer (168)
- MatchData (92)
- Matrix (194)
- Module (223)
- Monitor (16)
- Mutex (4)
-
Net
:: HTTP (22) -
Net
:: HTTPResponse (11) - Numeric (84)
- Object (165)
-
OpenSSL
:: BN (209) - OptionParser (341)
- Pathname (44)
- Prime (11)
-
REXML
:: Text (11) -
Rake
:: InvocationChain (11) - Random (73)
- Range (229)
- Rational (88)
- Regexp (33)
- Resolv (22)
- Ripper (8)
- Set (220)
- Socket (22)
- String (307)
- StringIO (314)
- StringScanner (55)
- Struct (77)
- SystemCallError (11)
- Thread (54)
-
Thread
:: Mutex (18) - ThreadGroup (11)
- Time (124)
- TracePoint (117)
-
URI
:: FTP (11) - UnboundMethod (11)
- Vector (89)
- WIN32OLE (44)
-
WIN32OLE
_ TYPE (11) -
WIN32OLE
_ TYPELIB (11) -
WIN32OLE
_ VARIANT (11)
モジュール
- BigMath (88)
- CMath (78)
- Comparable (65)
- Enumerable (99)
- FileTest (85)
- FileUtils (83)
- JSON (33)
- Kernel (581)
- Marshal (44)
- Math (231)
-
Net
:: HTTPHeader (66) - ObjectSpace (77)
-
OpenSSL
:: ASN1 (11) -
OptionParser
:: Arguable (55) - PTY (11)
- Process (55)
- Psych (66)
-
Rake
:: TaskManager (11) - Readline (11)
-
RubyVM
:: AbstractSyntaxTree (16) -
RubyVM
:: MJIT (12) - SecureRandom (7)
- Signal (22)
- TSort (64)
-
Test
:: Unit (1) - URI (44)
キーワード
- & (22)
- * (55)
- ** (11)
- + (22)
- - (22)
-
/ (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - < (22)
- << (11)
- <= (22)
- <=> (11)
- == (22)
- === (22)
- =~ (22)
- > (22)
- >= (22)
- >> (11)
- BigDecimal (12)
- Complex (12)
- E (11)
- Fiber (11)
- Float (11)
- Integer (11)
-
NEWS for Ruby 2
. 0 . 0 (11) - PI (11)
- Rational (11)
- String (11)
- Thread (11)
- TracePoint (11)
- [] (195)
- []= (122)
- ^ (11)
-
_ id2ref (11) - ` (11)
- abort (22)
-
absolute
_ path? (5) - accept (22)
- acos (11)
- add (11)
- adjugate (11)
- advise (11)
- alphanumeric (7)
-
angle
_ with (11) - antisymmetric? (6)
- append (11)
- asin (11)
- at (11)
- atan (22)
- atan2 (11)
- atime (22)
- autoload (11)
- backtrace (11)
-
backtrace
_ locations (11) - begin (22)
- between? (11)
- bind (11)
- birthtime (21)
- bsearch (44)
- byteindex (2)
- byteoffset (4)
- bytes (14)
-
callee
_ id (11) - caller (33)
- cause (11)
- cbrt (17)
- cbrt! (6)
- ceil (11)
- chdir (33)
- check (11)
- children (31)
- chown (11)
- chr (22)
- chroot (11)
- chunk (11)
- civil (11)
- clamp (10)
-
class
_ variable _ get (11) -
clear
_ bit! (11) - clone (11)
-
close
_ write (11) - cmp (11)
- coerce (22)
-
cofactor
_ expansion (11) - collect (11)
- collect2 (22)
-
collect
_ concat (11) - combination (22)
- combine (14)
- compile (11)
- connect (11)
-
const
_ get (11) -
const
_ load (11) -
const
_ missing (11) -
content
_ length (11) - convert (11)
- copy (11)
- cos (22)
- cos! (6)
-
count
_ nodes (11) -
count
_ objects (11) -
count
_ objects _ size (11) -
count
_ tdata _ objects (11) - cp (11)
-
cp
_ lr (6) - create (11)
- ctime (22)
- cycle (11)
- decode (11)
-
decode
_ www _ form _ component (11) - define (4)
-
define
_ finalizer (22) -
define
_ method (22) - delete (22)
-
delete
_ at (11) -
deprecate
_ constant (9) - det (11)
- detect (22)
- determinant (11)
- difference (11)
- digits (22)
- dirname (3)
- disjoint? (11)
- drop (11)
- dump (33)
- dup (11)
- each (121)
-
each
_ byte (44) -
each
_ child (40) -
each
_ line (77) - eigen (11)
- eigensystem (11)
- empty (11)
- empty? (8)
- end (22)
- entries (39)
-
entrywise
_ product (7) -
enum
_ for (44) - environment (11)
- erf (11)
- erfc (11)
- eval (22)
-
eval
_ script (6) - event (11)
- exception (22)
- exec (44)
- execute (11)
- exit (11)
- exp (28)
- exp! (6)
- fail (11)
- fcntl (11)
- fdatasync (11)
- feed (11)
- fetch (106)
-
fetch
_ values (18) - fileno (21)
- filter (6)
-
filter
_ map (5) - find (22)
-
find
_ all (11) - finish (11)
- first (44)
-
flat
_ map (11) - flatten (22)
- flatten! (22)
- flock (11)
- floor (11)
-
for
_ fd (11) - foreach (66)
- fork (22)
- frexp (11)
- ftype (11)
- gamma (11)
- gcd (11)
- gcdlcm (11)
- gem (11)
- generate (11)
- getaddress (11)
- getaddrinfo (11)
- getbyte (11)
- getc (11)
- getname (11)
- getopts (33)
- gets (22)
- getwd (11)
- gm (22)
- groups (11)
- grpowned? (11)
-
hadamard
_ product (7) - hstack (22)
- hypot (11)
- identical? (11)
-
initialize
_ copy (11) - insert (11)
- inspect (22)
- install (11)
-
instance
_ eval (22) -
instance
_ method (11) -
instruction
_ sequence (6) - intersection (16)
- isatty (11)
- join (33)
-
laplace
_ expansion (11) - last (44)
- lchmod (11)
- lchown (11)
- lcm (11)
- ldexp (11)
- lex (4)
- lgamma (11)
- limit (11)
- lineno (11)
- lines (14)
- link (11)
- ln (11)
-
ln
_ s (11) - load (36)
-
load
_ documents (8) -
load
_ file (11) -
load
_ specification (11) -
load
_ stream (22) - local (22)
-
local
_ variable _ get (11) - log (45)
- log! (12)
- log10 (11)
- log2 (11)
- loop (22)
- lshift! (11)
- lstat (22)
- map (11)
- map2 (11)
-
mask
_ bits! (11) - max (64)
- merge (11)
- method (11)
-
method
_ id (11) -
method
_ missing (11) - min (64)
- mkdir (11)
- mktime (22)
-
mod
_ add (11) -
mod
_ exp (11) -
mod
_ mul (11) -
mod
_ sub (11) - mode (22)
-
mon
_ exit (5) - mtime (22)
- name= (9)
-
net
/ http (11) - new (326)
- next (11)
-
next
_ values (11) - normalize (11)
- now (11)
- offset (22)
-
ole
_ classes (11) -
ole
_ query _ interface (11) - on (132)
- open (125)
- ord (11)
- order (44)
- order! (44)
- owned? (11)
- p (11)
- parameters (6)
- parse (63)
- parse! (22)
-
parse
_ file (8) - path (29)
- pause (6)
- peek (22)
-
peek
_ result (11) -
peek
_ values (11) - peep (11)
- permutation (22)
- permute (22)
- permute! (22)
- pid (11)
- pointer= (11)
- pop (11)
- pos (22)
- pos= (22)
- pow (22)
- pread (7)
-
prime
_ division (22) -
prime
_ fasttest? (11) - print (44)
- printf (33)
- private (23)
-
private
_ constant (11) - produce (5)
-
proper
_ subset? (11) -
proper
_ superset? (11) - public (4)
-
public
_ constant (11) -
public
_ instance _ method (11) -
public
_ method (11) -
public
_ send (22) - putc (22)
- puts (22)
- pwd (11)
- pwrite (7)
- quo (11)
-
raised
_ exception (11) - rand (66)
- range (11)
-
range
_ length (11) - rationalize (22)
-
rb
_ define _ class _ under (11) - read (11)
- readbyte (33)
- readchar (22)
- readline (33)
- readlines (88)
- readlink (11)
- realpath (11)
- receiver (5)
- regular? (11)
- reject (33)
-
relative
_ path _ from (11) -
remove
_ class _ variable (11) -
remove
_ const (11) -
remove
_ instance _ variable (11) -
remove
_ method (11) - rename (11)
- reopen (44)
-
repeated
_ combination (22) -
repeated
_ permutation (22) - replace (22)
-
report
_ on _ exception (8) -
report
_ on _ exception= (8) - require (11)
-
require
_ relative (11) -
respond
_ to? (11) - restore (11)
- result (11)
- resume (17)
-
return
_ value (11) -
reverse
_ each (2) - rmdir (11)
- rotate (11)
- rotate! (11)
- round (30)
- rshift! (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) -
ruby
_ xrealloc (11) - run (11)
- sample (22)
- select (11)
-
set
_ backtrace (11) -
set
_ bit! (11) -
set
_ trace _ func (11) - setbyte (11)
- setproperty (22)
- setuid? (11)
-
setup
_ argv (1) - shift (22)
- sin (22)
- sin! (6)
-
singleton
_ class (11) -
singleton
_ method (11) - size (11)
- size? (11)
-
skew
_ symmetric? (6) - sleep (11)
- slice (66)
- socket? (11)
- spawn (44)
- split (11)
- sqrt (35)
- sqrt! (6)
- start (22)
- stat (22)
- step (94)
- sub (22)
- subset? (11)
- subtract (11)
- superset? (11)
- symlink (11)
- synchronize (11)
-
synthesize
_ file _ task (11) - syscall (11)
- sysopen (11)
- system (44)
- syswrite (11)
- take (11)
- tan (11)
- tan! (6)
- tell (22)
- throw (11)
-
to
_ a (6) -
to
_ d (33) -
to
_ enum (44) -
to
_ f (11) -
to
_ i (33) -
to
_ path (7) -
to
_ ptr (11) -
to
_ r (11) -
to
_ s (22) - tokenize (4)
- tr (11)
- trace (22)
- transfer (11)
- trap (22)
- truncate (44)
-
try
_ convert (3) - tsort (33)
-
tsort
_ each (42) - tty? (11)
- ucmp (11)
-
undef
_ method (11) - ungetc (11)
-
unicode
_ normalize (10) -
unicode
_ normalize! (10) -
unicode
_ normalized? (10) - union (11)
- unlink (22)
- unparse (11)
- unscan (11)
- uptodate? (11)
- urandom (7)
- utc (22)
- utime (11)
- value (11)
-
values
_ at (11) - vstack (11)
- wait (11)
- wait2 (11)
- waitpid (11)
- waitpid2 (11)
- wakeup (11)
- warn (3)
- with (2)
- write (22)
- yield (11)
- zero? (11)
- zip (22)
- | (22)
- スレッド (11)
- 制御構造 (11)
検索結果
先頭5件
-
tsort (26132.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
...tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3],......=>[]}.tsort
#=> [3, 2, 1, 4]
{1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}.strongly_connected_components
#=> [[4], [2, 3], [1]]
//}
=== より現実的な例
非常に単純な `make' に似たツールは以下のように実装できます。
//emlist[][ruby]{
require 'tsort'
class Make
def initialize......utputs, inputs=[], &block)
triple = [outputs, inputs, block]
outputs.each {|f| @dep[f] = [triple]}
@dep[triple] = inputs
end
def build(target)
each_strongly_connected_component_from(target) {|ns|
if ns.length != 1
fs = ns.delete_if {|n| Array === n}
raise T... -
Fiber
# raise -> object (18227.0) -
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
...さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。
その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持......す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。
//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}
//emlist[ファイバー内......のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end
:exit
end
p f.resume # => :loop
p f.raise StopIteration # => :exit
//}... -
Fiber
# raise(exception , message = nil , backtrace = nil) -> object (18227.0) -
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
...さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。
その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持......す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。
//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}
//emlist[ファイバー内......のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end
:exit
end
p f.resume # => :loop
p f.raise StopIteration # => :exit
//}... -
Fiber
# raise(message) -> object (18227.0) -
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
...さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。
その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持......す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。
//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}
//emlist[ファイバー内......のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end
:exit
end
p f.resume # => :loop
p f.raise StopIteration # => :exit
//}... -
Kernel
. # raise(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (15257.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}
引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro......r)を
発生させます。
error_type として例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すこ......とができます。
@param error_type 発生させる例外を例外クラスまたは例外クラスのインスタンスで指定します。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻... -
TracePoint
# raised _ exception -> Exception (12324.0) -
発生した例外を返します。
...ます。
@raise RuntimeError :raise イベントのためのイベントフックの外側で実行し
た場合に発生します。
//emlist[例][ruby]{
trace = TracePoint.new(:raise) do |tp|
tp.raised_exception # => #<ZeroDivisionError: divided by 0>
end
trace.enable
begi... -
RubyVM
:: AbstractSyntaxTree . parse(string) -> RubyVM :: AbstractSyntaxTree :: Node (9424.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
...@param string パースする対象の Ruby のコードを文字列で指定します。
@raise SyntaxError string が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
# => (SCOPE@1:0-1:9
# tbl: [:x]
#......args: nil
# body:
# (LASGN@1:0-1:9 :x
# (OPCALL@1:4-1:9 (LIT@1:4-1:5 1) :+ (LIST@1:8-1:9 (LIT@1:8-1:9 2) nil))))
//}......string パースする対象の Ruby のコードを文字列で指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#to......r_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリーを生成します。
@raise SyntaxError string が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]......{
pp RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
# => (SCOPE@1:0-1:9
# tbl: [:x]
# args: nil
# body:
# (LASGN@1:0-1:9 :x
# (OPCALL@1:4-1:9 (LIT@1:4-1:5 1) :+ (LIST@1:8-1:9 (LIT@1:8-1:9 2) nil))))
pp RubyVM::AbstractSyntaxTree.parse("x = 1; p(x; y=2", error_tolerant: true... -
RubyVM
:: AbstractSyntaxTree . parse(string , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (9424.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
...string パースする対象の Ruby のコードを文字列で指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#to......r_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリーを生成します。
@raise SyntaxError string が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]......{
pp RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
# => (SCOPE@1:0-1:9
# tbl: [:x]
# args: nil
# body:
# (LASGN@1:0-1:9 :x
# (OPCALL@1:4-1:9 (LIT@1:4-1:5 1) :+ (LIST@1:8-1:9 (LIT@1:8-1:9 2) nil))))
pp RubyVM::AbstractSyntaxTree.parse("x = 1; p(x; y=2", error_tolerant: true... -
TracePoint
# instruction _ sequence -> RubyVM :: InstructionSequence (9312.0) -
script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。
...pt_compiledイベント発生時にコンパイルされた
RubyVM::InstructionSequenceインスタンスを返します。
//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.instruction_sequence # => <RubyVM::InstructionSequence:block in <main>@(eval):1>
end.enable do
eval("put......s 'hello'")
end
//}
@raise RuntimeError :script_compiled イベントのための
イベントフックの外側で実行した場合に発生します。... -
ObjectSpace
. # count _ tdata _ objects(result _ hash = nil) -> Hash (9246.0) -
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
...
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き......@raise TypeError result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスに興味のある C Ruby の開発者向けのものです。
//emlist[例][ruby]{
ObjectSp......ace.count_tdata_objects
# => {RubyVM::InstructionSequence=>504, :parser=>5, :barrier=>6,
# :mutex=>6, Proc=>60, RubyVM::Env=>57, Mutex=>1, Encoding=>99,
# ThreadGroup=>1, Binding=>1, Thread=>1, RubyVM=>1, :iseq=>1,
# Random=>1, ARGF.class=>1, Data=>1, :autoload=>3, Time=>2}
//}
現在... -
ObjectSpace
. # count _ objects _ size(result _ hash = nil) -> Hash (9242.0) -
型ごとのオブジェクトサイズをバイト単位で格納したハッシュを返します。
...バイト単位で格納したハッシュを返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。プローブ......て扱う必要があります。特に T_DATA の合計値は正しくないでしょう。
//emlist[例][ruby]{
ObjectSpace.count_objects_size
# => {:TOTAL=>1461154, :T_CLASS=>158280, :T_MODULE=>20672, :T_STRING=>527249, ...}
//}
@raise TypeError result_hash にハッシュ以外を指定した......時に発生します。
戻り値のハッシュは処理系に依存します。これは将来変更になるかもしれません。
本メソッドは C Ruby 以外では動作しません。... -
ObjectSpace
. # count _ objects(result _ hash = {}) -> Hash (9236.0) -
オブジェクトを種類ごとにカウントした結果を Hash として返します。
...ドは C Ruby 以外の Ruby では動かないでしょう。
@param result_hash ハッシュを指定します。与えられたハッシュは上書きして返されます。
これを利用すると測定による影響を避けることができます。
@raise TypeError......引数に Hash 以外を与えた場合、発生します。
//emlist[例][ruby]{
ObjectSpace.count_objects # => {:TOTAL=>10000, :FREE=>3011, :T_OBJECT=>6, :T_CLASS=>404, ...}
//}... -
Exception
# exception(error _ message) -> Exception (9218.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
...し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
#......... # 何か処理
rescue => e
raise e.exception("an error occurs during hogehoge process") # 詳しいエラーメッセージ
end
//}...