タグ

javaとexceptionに関するkiyo_hikoのブックマーク (13)

  • JavaSound on Linux - メモ用紙の裏

    ドハマリしたので記録。 事の発端はJavaSoundで音を出して遊ぼうとしたこと。 AudioFormat format = new AudioFormat(44100, 16, 2, true, false); SourceDataLine line = AudioSystem.getSourceDataLine(format); line.open() こんな感じでSourceDataLineを取得して、lineに適当に波形流し込んで遊ぼうとしてたんですが、どうも時々line.open()でLineUnavailableExceptionが投げられる。で、色々調べた結果、JavaSoundはALSAではなくOSS向けの実装になってるぽくて、/dev/dspを排他的に開く様になっていて、 % lsof /dev/dsp COMMAND PID USER FD TYPE DEVICE SI

    JavaSound on Linux - メモ用紙の裏
    kiyo_hiko
    kiyo_hiko 2014/06/27
    javax.sound.sampled.LineUnavailableException
  • Javaプログラマーが学ぶRuby基礎/例外の基本 - Tbpgr Blog

    概要 Rubyの例外について説明します。 構文 Rubyの例外は以下の構文で利用出来ます。 begin 例外の例外の起こる可能性のある処理 rescue 例外が起こった場合の処理 ensure 例外の有無に関わらず実行される処理 end サンプル def divide_number(number,divide) begin # Javaのtryと同様 puts "input (#{number},#{divide})" number/divide rescue => exception # Javaのcatchと同様 puts exception.message puts "like Java's catch" raise 'my error' # Javaのthrowと同様 ensure # => Javaのfinallyと同様 puts "like Java's finally" en

    Javaプログラマーが学ぶRuby基礎/例外の基本 - Tbpgr Blog
  • ConcurrentModificationExceptionのスマートな回避方法 - OKWAVE

    次のコードのように反復中にそのコレクションを削除しようとすると、ConcurrentModificationExceptionが発生してしまいます。 Set<Integer> set = new HashSet<Integer>(); for (int i = 0 ; i < 10 ; i++) { set.add(i); } // このループで例外発生 for (Integer currValue : set) { if (currValue % 2 == 0) { set.remove(currValue); } } for (Integer currValue : set) { System.out.println(currValue + " "); } これを回避するために、反復中に削除せず、削除対象をまず保持しておき、その後でまとめて削除するという方法です。 Set<Intege

    ConcurrentModificationExceptionのスマートな回避方法 - OKWAVE
    kiyo_hiko
    kiyo_hiko 2013/09/16
    別に並行処理のつもりでなくても"Concurrent~"がでてビビる for-eachでフィルタリングできないよというのはたしかJavaチュートリアル第4版で読んだ気が。忘れてた → 見直したらIteratorのremoveが唯一安全と書いてあった
  • [Think IT] 第4回:例外こそオブジェクト指向 (1/3)

    【新・言語進化論】プロの言語仕様の読み方 第4回:例外こそオブジェクト指向 著者:オープンストリーム 上野 広一 監修者:オープンストリーム 高安 厚思 公開日:2007/11/27(火) 例外とは何か 皆さんは例外というものをどのようにとらえているでしょうか。初心者であれば極力お目に掛かりたくないし、避けて通りたいものかもしれません。それは「例外=エラー=悪」という単純な思い込みがあるからではないでしょうか。 しかしJavaの世界において例外を無視することはできません。そこで今回は言語仕様を元に例外というものがどのように定義されているかをみていくことにしましょう。例外の言語仕様は、「11 Exceptions(例外)」にまとめられています。 その冒頭では、例外とは何かを説明しています。 When a program violates the semantic constraints of

    kiyo_hiko
    kiyo_hiko 2012/11/02
    Javaの例外処理はすばらしいな
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Exception (Java Platform SE 6)

    java.lang クラス Exception java.lang.Object java.lang.Throwable java.lang.Exception すべての実装されたインタフェース: Serializable 直系の既知のサブクラス: AclNotFoundException, ActivationException, AlreadyBoundException, ApplicationException, AWTException, BackingStoreException, BadAttributeValueExpException, BadBinaryOpValueExpException, BadLocationException, BadStringOperationException, BrokenBarrierException, CertificateExc

    kiyo_hiko
    kiyo_hiko 2012/11/01
    ThrowableとAPIは同じ?自前の例外オブジェクト作る参考に
  • Throwable (Java Platform SE 6)

    java.lang クラス Throwable java.lang.Object java.lang.Throwable すべての実装されたインタフェース: Serializable 直系の既知のサブクラス: Error, Exception public class Throwableextends Objectimplements Serializable Throwable クラスは、Java 言語のすべてのエラーと例外のスーパークラスです。このクラス (またはそのサブクラスの内の 1 つ) のインスタンスであるオブジェクトだけが Java 仮想マシンによってスローされるか、Java の throw 構文によってスローされます。同じように、このクラスまたはそのサブクラスの内の 1 つだけが catch 節の引数の型に指定できます。 通常、Error および Exception の 2

    kiyo_hiko
    kiyo_hiko 2012/11/01
    ErrorとExceptionのスーパークラス initCause/getCause→InnerException的なもの? メッセージ関連スタックトレース関連 Objectから継承したメンバーなど
  • 第12話 例外は例外だから例外じゃないの?:ソフトウェア開発に幸せな未来はあるのか:エンジニアライフ

    タイトルを見たらだいたい何のことかは察しが付くと思いますが、今回はそんな話。初めて書くエンジニアらしい話題かも。 ■例外の違和感 わたしは、前にも少し書きましたが、エンジニアとしては「ハードウェア設計→アセンブラ→PL/I→C言語→VC++Java→.NET(VC#)」……こんな感じで(途中、細かい物は端折ってますが)来ています。普通のソフトウェアエンジニアの人と違うのは、ハードウェア設計が始まりという点でしょうか。なんだかいい感じにソフトウェアの変遷の歴史みたいです。 最近は公私ともにVC#が多いです。動かす分にはかなり簡単にコーディングできますし、.NETもハードウェアの高速・大容量化に伴い非常に実用的なレベルになっています。仕事ではVC#とJavaが今は多いです。 ただ一点、どうしてもなじめない部分があります。それは、 例外処理が多くね? と感じる点です。Javaと.NETでは若干

    第12話 例外は例外だから例外じゃないの?:ソフトウェア開発に幸せな未来はあるのか:エンジニアライフ
    kiyo_hiko
    kiyo_hiko 2012/07/18
    dotnetでは業務エラーを戻り値で、Javaでは業務エラーでもバンバン例外使おうぜ、的な違いがあるらしい…?ふむふむふむ
  • java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー

    ブログを書くまでがjava-jaですが、もう眠いのでとりあえず1行だけ書いて、あとは徐々に書き足す。 会場を無料提供してくれたグリーさん、ありがとうございます! 誰かが検査例外の話をするだろうと思って書かなかったら結局誰も言及しなかった、Javaのコミュニティなのに。 っていうか聴衆が100人もいると、もしかしてそもそも「検査例外ってなに?」って人もいたんじゃないか?「検査例外がOCPを壊す」とか「Liskovの置換原則のLiskov」とか通じてるんだろうか?とりあえず直和型が通じてないことだけはひしひしと感じた。 Twitterの自分の発言を転載しておく。 ちなみにZen of Pythonでも「エラーを握りつぶすな」と書いてあります 禅 of Python: 20の格言 「例外はそもそも何のため」ってところ、ざっくり省いたんだけどもそういうところのほうがニーズあったかね?? 「C#1.

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー
  • 例外設計における大罪 - 契約

    導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について

    例外設計における大罪 - 契約
  • EclipseでJavaの例外を理解する

    実行時に発生する例外 実行時に発生する例外はプログラミングエラーに対して使用されます。この例外はJavaではjava.lang.RuntimeExceptionクラスで表現されています。このサブクラスには、パラメータが不正であることを意味するjava.lang.IllegalArgumentExceptionや配列の添え字が範囲外であることを意味するjava.lang.IndexOutOfBoundsExceptionや、メソッドを呼び出そうとした変数がnullを参照していたことを意味するjava.lang.NullPointerExceptionといったものがあります。実行時に発生する例外のほとんどは、メソッドのAPI仕様に従わずにメソッド呼び出しを行うこと(事前条件違反、precondition violation)が原因です。例えば、次のプログラムはコンパイルエラーにはなりませんが、

    EclipseでJavaの例外を理解する
    kiyo_hiko
    kiyo_hiko 2012/03/22
    「実行時に発生する例外のほとんどは、メソッドのAPI仕様に従わずにメソッド呼び出しを行うこと(事前条件違反、precondition violation)が原因です」
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    kiyo_hiko
    kiyo_hiko 2012/03/21
    想定内の業務エラーを例外で受けるかどうかはともかく例外処理の一例として
  • 1