タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

qiitaとerlangとexception-handlingに関するnabinnoのブックマーク (3)

  • Elixir の例外について纏めた - Qiita

    意外と複雑だったので、可能な限り情報を纏めてみました。 例外の種類 Elixir の例外には throw と error と exit という3種類があります。 どの例外も、投げた直後に処理を抜けて catch や rescue に飛ぶ(あるいはそれが無ければプロセスが終了する)という点では同じです。 throw throw はフロー制御のための例外です。 Elixir は、関数の途中で return したり、ループで条件を満たしたら break するというのが出来ません。 そういう時、処理の流れ(フロー)を変えるために throw を利用します。 throw を使うことで、例えば Enum.find/2 のような関数は以下のように書けます。 def find(enumerable, default \\ nil, fun) do try do for v <- enumerable do

    Elixir の例外について纏めた - Qiita
  • let it crashが生んだ誤解 - Qiita

    let it crashが生んだ誤解 ここ2年程のelixir人気に伴い, BEAM (つまりerlangとelixir) を使う人が増えました. しかし, let it crashという思想は誤解を残したまま世に広まったように感じています. 郷に入っては郷に従え. let it crashの思想をしっかり理解して実装していきたいものです. 前置き 大層なことを書きましたが, あくまでも個人的な見解であり, ポエムです. Erlang/OTPチームの見解とは異なる可能性がある点に気をつけてください. また, ご意見があればコメント欄に頂ければ幸いです. なお, Elixirのタグも付けていますが, 記事中のコードは全てErlangです. Elixirを書いている人にも知って欲しい, 「届けこの想い!」ということでタグは付けています. これらの点をご承知起きの上で読んで頂ければ幸いです.m(

    let it crashが生んだ誤解 - Qiita
  • Elixirでプログラムがエラーになっても再起動する仕組みを試す - Qiita

    Elixirで監視状態においたWorkerプロセスがエラーになっても, 監視プロセスが検知してWorkerを再起動してくれるという振舞を手を動かしながら試してみましょう. ElixirでTaskを使ってEchoServerを動かすという記事の一部を再構成して提供しています. Workerを作る まずはWorkerの例としてTCP/IPで接続を待ちうけるサーバーを作ります. Erlangには gen_tcp というライブラリがあるのでこれを用いてTCP/IPを扱います. :gen_tcp.xxx となっている記述の部分で利用しています. # echo_server-1.exs defmodule EchoServer do def accept(port) do # オプションは以下のような意味である: # # 1. `:binary` - データを(リストのかわりに)バイナリとして受けとる

    Elixirでプログラムがエラーになっても再起動する仕組みを試す - Qiita
  • 1