例外処理
Julia の例外処理の基本は try ~ catch だ。
julia> s = "12"
"12"
julia> try
i = parse(Int, s)
catch
println("Error!")
end
12
例外の発生する可能性があるコードを try ブロックに置き、実際に例外が発生したら catch ブロックが実行される。
次の例では、数とみなせない文字列を Int に変換しようとして例外が発生している。
julia> s = "ab"
"ab"
julia> try
i = parse(Int, s)
catch
println("Error!")
end
Error!
例外が発生したかどうかにかかわらず、コードを実行する必要があるときには、finally を使う。
julia> file = open("hello.txt")
IOStream(<file hello.txt>)
julia> try
readlines(file)
finally
close(file)
end
1-element Vector{String}:
"Hello, Julia."
こうしておけば、もし、読み込み時に例外が発生しても、ファイルをクローズしてくれる。
