C♯相談室 Part27
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん♯
2005/11/09(水) 22:55:41(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0809デフォルトの名無しさん
2005/12/09(金) 16:07:140810デフォルトの名無しさん
2005/12/09(金) 17:09:06何がやりたいのかよくわからんけど、
カレンダーの独自コントロールを作りたいならPanelあたりのクラスを拡張した方がいいんじゃないか?
0811デフォルトの名無しさん
2005/12/09(金) 20:06:12あ、SharpDevelopでも1.xは日本語で強調表示するとバグでキャレットが
ズレるから気を付けてね。パッチを出している有志がいらっしゃるけど。
0812デフォルトの名無しさん
2005/12/09(金) 20:21:52.netにもポーティングされてた気がする。
0813デフォルトの名無しさん
2005/12/09(金) 22:10:42Process.Start() を使えば良いのでしょうか?
良い場合はどのように使えばよいのでしょうか?
できれば javaw の方で起動したいのですが・・・
0814デフォルトの名無しさん
2005/12/09(金) 22:20:560815デフォルトの名無しさん
2005/12/09(金) 23:04:280816デフォルトの名無しさん
2005/12/09(金) 23:37:31これでやってみましたが、なぜか起動できませんでした。
main class が見つからないとかメッセージが出てそれでおしまい。
コマンドプロンプトからは正常に起動できるのに・・・
0817デフォルトの名無しさん
2005/12/09(金) 23:39:200818デフォルトの名無しさん
2005/12/09(金) 23:49:180819デフォルトの名無しさん
2005/12/09(金) 23:56:460820デフォルトの名無しさん
2005/12/10(土) 00:03:42いいや。ちがうね。『 class Sample 』 のファイル名は 『 Sample.class 』 だよ。
0821デフォルトの名無しさん
2005/12/10(土) 00:42:09カレントディレクトリにすることで起動に成功しました。
つまり、
Environment.CurrentDirectory = @"クラスファイルのあるフォルダのパス";
Process.Start(@"省略\javaw.exe", "クラス名");
です。
ありがとうございました。
0822デフォルトの名無しさん
2005/12/10(土) 00:43:34PictureBoxを継承してOnPaintオーバライドするとか
PictureBox pictBox.Paint += PaintText;
private void PaintText(object sender, PaintEventArgs e){
e.Graphics.DrawString("1",10,10);
}
みたいな感じで上書きできないかな
ラベルの高さを10未満にしたいのですがデザイナが許してくれません。
どのあたりをいじればよいのでしょうか?
デザイナ上でスマートタグの定義を追加したいのですが。参考となるサイトがあれば教えてください。
vs2005b2を使用しています。
0823デフォルトの名無しさん
2005/12/10(土) 00:47:160824デフォルトの名無しさん
2005/12/10(土) 00:51:090825デフォルトの名無しさん
2005/12/10(土) 00:51:55とりあえずどうぞ
ttp://2next.net/swf/R3_temp.swf?inputStr=%83I%81%5B%83o%83%89%83C%83h%82%C1%82%C4%82%C8%82%F1%82%C5%82%B7%82%A9%81H
0826デフォルトの名無しさん
2005/12/10(土) 01:00:34Networkが使用不可能になったというイベントって取得できますか?
0827デフォルトの名無しさん
2005/12/10(土) 01:13:17ダブルバッファー用のbmp(1), その更にバッファー(2),Form(3)とあるとして、
1からずらして2に転送2から3,1に転送して計3回ビットマップ転送してるんですが、おそす。
もちっとナイスな方法内でしょうか・・・
0828デフォルトの名無しさん
2005/12/10(土) 01:19:340829デフォルトの名無しさん
2005/12/10(土) 01:21:120830デフォルトの名無しさん
2005/12/10(土) 01:25:33ダブルなバッファーにはどこから描画するの?パネルから?
0831デフォルトの名無しさん
2005/12/10(土) 02:01:130832デフォルトの名無しさん
2005/12/10(土) 02:19:30パネルを継承してOnPaint
コンストラクタではDoubleBuffered = true;@2.0
0833778
2005/12/10(土) 02:31:21プロジェクト名�dクス〜〜、もう消えてたんですね。(;;
道は遠いけど、自作進めてます。
IMEもUndo/Redoもまだ無理ですけど、ASCII文字ならとりあえずエディタとして
最低限動くようになりまちた。
>>811
キャレットずれますね。全角と半角の空白文字(スペース)が同じ行に
混在するとダメみたいです。#develop Wiki の日本語対応版上書きした
#dev本体のエディタで再現してるので今後に期待??
>>812
ありがとうございます。とりあえず見てみましたが .Net port は
今のところ発見できず。
探しながら開発続けていってみます。
壁は IME からの文字入力、 Undo/Redo、選択処理の実装、折り返し処理
あたりか??
0834デフォルトの名無しさん
2005/12/10(土) 02:40:24.NET2.0のMicrosoft.VisualBasic.Devices.NetworkにNetworkAvailabilityChangedイベントがある。
そのまま使うのがいや/使えないなら、これをildasmで調べてみたら
0835デフォルトの名無しさん
2005/12/10(土) 03:43:10現在は、
MenuItem menuItem = menu.MenuItems.Add("");
menuItem.Tag = (object)"dummy_item";
menu.Popup += new EventHandler(FillDummyMenu);
のようにダミー項目を追加し、FillDummyMenuで
ダミー項目の位置にいろいろ追加するようにしているんですが、
そうするとメニューそのものが恒久的に変更されてしまうため
二回目以降にメニューを表示したときにうまく動作しません。
どなたか解決策をお教え願います。
0836デフォルトの名無しさん
2005/12/10(土) 04:26:45そのままAbortすると
うまく殺してくれないみたいなんです
自分のコードが悪いのか
そういう仕様なのかがわかりません
だれかご教示お願いします
0837デフォルトの名無しさん
2005/12/10(土) 11:08:470838デフォルトの名無しさん
2005/12/10(土) 12:01:44this.buttons[0] = this.button1;
this.buttons[1] = this.button2;
this.buttons[2] = this.button3;
for(int i = 0; i < this.buttons.length; I++)
{
this.buttons[i].Tag = i;
}
(中略)
private void buttons_Click(Object sender, EventArgs e)
{
}
0839デフォルトの名無しさん
2005/12/10(土) 12:04:47private void buttons_Click(Object sender, EventArgs e)
{
switch(Convert.ToInt32(((Button)sender).Tag))
}
0840デフォルトの名無しさん
2005/12/10(土) 12:08:12専ブラの問題かな?・・・
switch(Convert.ToInt32(((Button)sender).Tag))
{
case 0:
//button1 の処理
break;
case 1:
//button2 の処理
break;
case 2:
//button3 の処理
break;
default:
break;
}
というふうにしているのですが、
結構面倒なので、他に効率的な方法はありませんか?
0841デフォルトの名無しさん
2005/12/10(土) 12:25:06効率的かどうかはともかく、俺なら
Control[] buttons = new Control[] { // 略};
private void buttons_Click(Object sender, EventArgs e) {
int index = Array.IndexOf(buttons, sender, 0, buttons,Length);
switch(index)
{
case 0:
break;
case 1:
break;
case 2:
break;
default:
break;
}
みたいに書くかな・・・
senderにイベントを起こしたオブジェクトが入っている保証なんかどこにもないからお勧めは出来ないけどね
0842デフォルトの名無しさん
2005/12/10(土) 13:11:27参考にさせていただきます。
0843デフォルトの名無しさん
2005/12/10(土) 15:34:09>senderにイベントを起こしたオブジェクトが入っている保証なんかどこにもない
そうなんですか?
そのことについて書かれたドキュメントとかあったら教えてもらえませんか?
0844デフォルトの名無しさん
2005/12/10(土) 15:38:30buttons_Click(null, null);
で呼べばええのちがうか
0845デフォルトの名無しさん
2005/12/10(土) 17:08:52禁止したいのですが、何か方法ありますか?
Image=nullにすると、今度は背景色で再描画され、やはり困ってます。
0846デフォルトの名無しさん
2005/12/10(土) 18:57:34頑張ってください!
0847デフォルトの名無しさん
2005/12/10(土) 21:31:55sbyteなんですか?
0848デフォルトの名無しさん
2005/12/10(土) 21:38:120849デフォルトの名無しさん
2005/12/10(土) 22:16:52sbyteはsigned byteの事で、符号あり。
byteは符号なし変数。
0850デフォルトの名無しさん
2005/12/10(土) 22:33:45ブロックのスコープは存在しなかったように思うのですが、
class GotoTest {
static void Main() {
goto cs_err;
{
cs_err:
System.Console.Write("error");
}
}
}
このブロックの外からは見えないという規約、どこら辺が役に立っているの
でしょうか? 詳しくわからない僕には、あまり意味のあるものと思えないです。
0851デフォルトの名無しさん
2005/12/10(土) 22:36:590852デフォルトの名無しさん
2005/12/10(土) 22:37:560853デフォルトの名無しさん
2005/12/11(日) 00:25:35その根拠をもう少し詳しくお教え願えないでしょうか?
ttp://wisdom.sakura.ne.jp/programming/cs/cs13.html
に規約と記述してあったのですが、制約となるとそうせざるを得ない理由が存在
するんですよね…
また、>>852では、「スタックの深い方へ」とあるのですが、これはどういう事ですか?
スタックの深い方とかで検索をかけてみたのですがよくわかりませんでした。
もしかして、プログラムコードの一行一行を指しているのですか
0854デフォルトの名無しさん
2005/12/11(日) 00:54:21……コードブロック、コンパイル後はスコープとか全然関係ないやん。
コードブロック内に goto 出来ないのは、VM じゃなくて C# 側の制約……っていうか規約な罠 orz
0855デフォルトの名無しさん
2005/12/11(日) 01:18:21goto inner;
for (int i = 0; i < 3; i++) {
inner:
Console.WriteLine(i);
}
さあどうする。
0856デフォルトの名無しさん
2005/12/11(日) 01:48:46そうなのですか。レスありがとうございました!
>>855
なるほど! それはエラーにすべきですね。C++の方でもエラーになったです。気付かなかった。
わかりやすい例題サンクスです!
0857デフォルトの名無しさん
2005/12/11(日) 02:57:19ボタン押下後に、CSVファイルを作成し、そのファイルをダウンロードさせます。
しかし、Response.Close()後、どのボタンを押下してもサーバー処理を行いません。(submitされません。)
Javaの場合はボタン押下時J、avaバッチを起動してダウンロードさせますが、C#の場合はどうすればよろしいでしょうか?
0858デフォルトの名無しさん
2005/12/11(日) 03:56:190859デフォルトの名無しさん
2005/12/11(日) 04:21:42835がどんなのを意図してるのか分からん
そもそも何故ダミーを作るんだ? 直接新しいアイテムを作ってAddしちゃいかんのか?
0860デフォルトの名無しさん
2005/12/11(日) 04:49:46そうでしたか、すみません。
簡単にいうと「お気に入り」とか「最近使ったファイル」みたいなのを
イメージしてもらえるとわかりやすいと思うんですが、
つまりメニューの外枠はアプリケーションの初期化時に作って、
メニューの内容を表示しなければいけない時に中身を追加する、
という感じにしたいと思っています。
0861デフォルトの名無しさん
2005/12/11(日) 04:56:300862デフォルトの名無しさん
2005/12/11(日) 05:07:08一度置き換えると目印を見失ってしまって追加できないので困る、ってことだろうか。
もう少しわかりやすく。
でも俺はもう寝る。
0863デフォルトの名無しさん
2005/12/11(日) 05:28:12そういうことです。
説明が下手ですみません。
具体例で説明すると、初期化時に
[ファイル]
[編集]
[お気に入り] // menu
[お気に入りに追加...] // menuItem
[-] // セパレータ
[dummy_item] // menuItem
っていう感じに作っておいて、
[お気に入り] の Popup イベントを捕獲して、そこで子アイテムの中から [dummy_item] を探し出し、
[dummy_item] を削除してからその位置にお気に入りのアイテムを追加していくという感じです。
ところがこれではご指摘のように [dummy_item] を削除する必要があるので、
2度目以降うまく動作しません。
0864デフォルトの名無しさん
2005/12/11(日) 06:46:06なんでダミーがいるのかさっぱりわからんのだが。
セパレータ探してその後ろを毎回入れ替えたらすむんじゃないの?
つか、固定の部分もあわせて作り直したらいい気がする。
0865デフォルトの名無しさん
2005/12/11(日) 12:25:39あるメソッドの実行時間を測りたくて、次のような感じでやってます。
DateTime before = DateTime.Now;
HogeMethod();//計測したいメソッド
DateTime after = DateTime.Now;
TimeSpan time = after - before;
Console.WriteLine(time.TotalMilliseconds.ToString());
ところが、いろんなメソッドに何回かやってみても、全く同じ値になったり、
キリがいい数字になったりと、ちょっと変な気がします。
なにか間違っているのでしょうか?
以下、取得できた時間です
[46.875ms]
[62.5ms]
[156.25ms]
[203.125ms]
[656.25ms]
[671.875ms]
[31.25ms]
[15.625ms]
[31.25ms]
[78.125ms]
[171.875ms]
[375ms]
[359.375ms]
[109.375ms]
[171.875ms]
[93.75ms]
[171.875ms]
0866デフォルトの名無しさん
2005/12/11(日) 12:52:56高性能にやるならWin32APIのQueryPerformanceCounter使う。
0867デフォルトの名無しさん
2005/12/11(日) 15:36:200868デフォルトの名無しさん
2005/12/11(日) 15:54:57なるべく柔軟な作りにしたいと思ってるので、例えば
[お気に入り]
[お気に入りに追加...]
[-]
[お気に入りをすべて削除]
[-]
[以下をすべてタブで開く]
[dummy_item]
のような構造に対応するために、ダミーは必要です。
しかしどちらにしろ入れ替えは必要なので、根本的な問題ではないです。
と書いてるうちに自己解決しました。
MenuItem に Visible プロパティがあったので、
[お気に入り]
[お気に入りに追加...]
[-]
[お気に入りをすべて削除]
[-]
[以下をすべてタブで開く]
[dummy_item_begin]
[dummy_item_end]
としたうえでダミーの Visible を false にし、毎回その間の項目を入れ替えるということをしたら
うまくいきました。
お騒がせしてすみません。どうもありがとうございました。
0869デフォルトの名無しさん
2005/12/11(日) 15:58:43根拠は?
0870デフォルトの名無しさん
2005/12/11(日) 16:00:12windowsアプリなら食いつきいいのに。
0871デフォルトの名無しさん
2005/12/11(日) 16:23:530872デフォルトの名無しさん
2005/12/11(日) 16:50:430873デフォルトの名無しさん
2005/12/11(日) 16:56:49それって柔軟?いびつに見えるんだけど。
ダミー以外の部分は固定なんでしょ?この固定部分を入れ替えられるようなつくりにすればいいんじゃないの?
お気に入り以下に追加するMenuItemの並びをテンプレートから作れるようにしたいんだよね?
テンプレート部分をMenuItemツリー構造に頼るのって変な感じ。
0874デフォルトの名無しさん
2005/12/11(日) 17:26:08すいません、固定部分を入れ替えるっていうのがどういう意味かわからないです。
テンプレートというのは固定部分の意味ですよね。
>>835 では固定部分も動的に作っていますが、ダミーを使った方法なら
固定部分はリソースで定義して必要な部分だけ動的に作るということも可能だと思います。
将来的にはそうするつもりです。
0875デフォルトの名無しさん
2005/12/11(日) 17:43:520876デフォルトの名無しさん
2005/12/11(日) 17:56:070877873
2005/12/11(日) 17:57:13>>874
>テンプレートというのは固定部分の意味ですよね。
違う。固定部分と、可変部分の位置をセットでテンプレートと言ってるつもりだった。
>>863の絵そのもの。これを適当な形で保持する。
で、それをMenuItemなんて実装側に依存した形にしたら、固定部分に動的な部分を
作らなきゃいけなくなったら困りそうじゃない?って思ったわけ。
もともとの>>863の絵を上の行から読んで対応するMenuItemを追加するような
つくりにしたほうがよさそうじゃない?
これなら固定部分は>>863の絵を書き換えるだけで入れ替えられるし。
また言葉が足りてない気もするが、わかんなかったら読み飛ばしておいておくれ。
0878デフォルトの名無しさん
2005/12/11(日) 19:14:53これならどうだ?
#
#
0879デフォルトの名無しさん
2005/12/11(日) 19:56:20悪いことは言わん
絶対止めとけ。
書けないことはないが、絶対にC++で書いときゃよかったって思うぞ
0880デフォルトの名無しさん
2005/12/11(日) 21:03:02文字列であればa+区切り文字+bのように連結してひとつのキーとして
扱えば楽だと思ったのですが、このような実装は好ましくないでしょうか?
同じことやったこと人いますか。
0881デフォルトの名無しさん
2005/12/11(日) 21:04:500882デフォルトの名無しさん
2005/12/11(日) 21:10:19その「キー」なるものを、他でもユニークなID(識別子)として
使いまわす気ならそれでも良いと思う。
単に疎でない二次元の連想配列が使いたいだけなら、
ハッシュのハッシュの方が良いと思うけど。
0883デフォルトの名無しさん
2005/12/11(日) 21:18:04感謝です。
0884デフォルトの名無しさん
2005/12/11(日) 21:27:57毎回
if(!_dic.TryGetValue(key,out value){
List<Hoge> list=new List<Hoge>();
_dic.Add(key,list);
}
とかやってるんでヌルポです。微妙にメソッド違うんでGenerics化もできず。もっとエレガントな方法ないでしょうか?
0885デフォルトの名無しさん
2005/12/11(日) 21:28:55一行目:ディショナリのディクショナリとかディクショナリのリストとかよく作るんだが
0886デフォルトの名無しさん
2005/12/11(日) 21:34:020887デフォルトの名無しさん
2005/12/11(日) 21:47:19キー⇒リストっていうコレクションなら、
C++でいうところのMultiMap で代用できないだろうか。
C# でどう MultiMap を実装するかはまた別の話として。
0888デフォルトの名無しさん
2005/12/11(日) 21:51:17C#では
Dictionary<object, ICollection>使ってればいいんじゃないの?
0889デフォルトの名無しさん
2005/12/11(日) 22:41:41Webアプリ作ろうとするとIIS使わざるを得ないからなぁ
ライセンスやら何やらで意外に敷居が高いと思う
個人的にはmono+apacheに期待してるけど、こっちは技術面で敷居が高い・・・
0890デフォルトの名無しさん
2005/12/11(日) 22:46:10C#使おうがC++使おうがAPIだけでやるなら、どっちにしても後悔しそうな悪寒
おとなしくDirectX使った方が幸せになれるはず
0891デフォルトの名無しさん
2005/12/11(日) 22:53:130892デフォルトの名無しさん
2005/12/11(日) 23:11:230893デフォルトの名無しさん
2005/12/11(日) 23:26:08using System.Security.Cryptography;
class Class1 {
const int dataLength = 400*1024*1024;
[STAThread]
static void Main(string[] args){
byte[] inputData = new byte[dataLength];
HashAlgorithm provider1 = new MD5CryptoServiceProvider();
Console.WriteLine("data is null? {0}", inputData == null);
try{ provider1.ComputeHash(inputData);}
catch(NullReferenceException ex){ Console.WriteLine(ex); }
Console.WriteLine("メソッド終了1");
provider1.Clear();
HashAlgorithm provider2 = new FastHash.MD5FastHash();
Console.WriteLine("メソッド終了2");
}
}
こんな単純なプログラムなんですが、
なぜか provider1.ComputeHash(inputData); の内部でNullReferenceExceptionが投げられます。
0894893
2005/12/11(日) 23:26:17スタックトレース
at System.Security.Cryptography.MD5CryptoServiceProvider._HashData(IntPtr hHash, Byte[] rgbData, Int32 ibStart, Int32 cbSize)
at System.Security.Cryptography.MD5CryptoServiceProvider.HashCore(Byte[] rgb, Int32 ibStart, Int32 cbSize)
at System.Security.Cryptography.HashAlgorithm.ComputeHash(Byte[] buffer)
at FastHash.Test.Class2.Main(String[] args) in D:\●●●●\class2.cs:line 14
HashAlgorithm provider1 = new MD5CryptoServiceProvider(); を
HashAlgorithm provider1 = new SHA1CryptoServiceProvider(); にしてもなりますが、
HashAlgorithm provider1 = new SHA1Managed(); にしても発生しません。
dataLengthを800MBとかにすると、当然OutOfmemoryExceptionが発生します。
dataLengthを10MBとかにすると例外が発生しません。
そして一番不思議なのは、
HashAlgorithm provider2 = new FastHash.MD5FastHash(); をコメントアウトすると例外が発生しません。
FastHash.MD5FastHashクラスは、自分が作った、fasthash.dll(http://hp.vector.co.jp/authors/VA033110/fasthashdll.htm)
を使用してMD5を計算するクラスです。
質問なんですが、一見全然関係ないように見える HashAlgorithm provider2 = new FastHash.MD5FastHash(); という文の有り無しで、なぜその前の byte[]配列がnullになってしまうんでしょうか?
0895デフォルトの名無しさん
2005/12/11(日) 23:32:19>dataLengthを800MBとかにすると、当然OutOfmemoryExceptionが発生します。
>dataLengthを10MBとかにすると例外が発生しません。
に気付け。『メモリが足りませんよ例外』 が出ているんだ。
0896デフォルトの名無しさん
2005/12/11(日) 23:32:510897デフォルトの名無しさん
2005/12/12(月) 00:10:550898デフォルトの名無しさん
2005/12/12(月) 00:11:46バッファがnullだったから例外が起きたんじゃ無いと思う
***CryptoServiceProviderクラスはWindowsの暗号化機能に依存しているから、Windows内部で何らかの例外が起きたんだと
fasthash.dllと競合するような部分があったんじゃ?
0899デフォルトの名無しさん
2005/12/12(月) 00:14:060900デフォルトの名無しさん
2005/12/12(月) 00:18:00これはFastHashの記述の有無に無関係に発生
0901893
2005/12/12(月) 00:20:20ILレベルですか…何と何の違いを調べればいいですか?
>>898
なるほど
すると、fasthash.dllを利用する限りどうしようもないんですかねえ?
それとも fasthash.dllの利用の仕方次第でなんとかなるんですかね
>>899
すみません、
「なぜ呼び出されていないコードに存在で、別のコードに例外が発生するのか」を、とりあえず考えていたのと、
ちょっと長くなってしまうんで省略しました。
0902893
2005/12/12(月) 00:21:46そうですか…
自分の環境だと、 FastHashの記述無しだと先にOutOfMemoryExceptionが発生してしまうんで
分からなかったです
0903デフォルトの名無しさん
2005/12/12(月) 00:28:400904デフォルトの名無しさん
2005/12/12(月) 00:34:24>「なぜ呼び出されていないコードに存在で、別のコードに例外が発生するのか」
呼び出す前にもメモリ上に何かがロードされて、
それで状況が変わるんじゃない?
0905893
2005/12/12(月) 00:41:55ちょっと気になって、常駐アプリなどを切りまくって、メモリを開けたところ、
FastHash.MD5FastHashの記述なしでもdataLengthが700MBぐらいで、ComputeHashでNullReferenceExceptionが発生するようになりました。
FastHashは関係ないようですね・・・
new FastHash.MD5FastHash() の有無で、300MBぐらい差が出るんですが、 FastHash.MD5FastHashクラスを使わないで、
このコードで直接fasthash.dllの関数を呼び出すと、200MBの差は出ないようです。
ということは、自分が作ったFastHash.MD5FastHashクラスが原因で300MBの差が起きているようです。
>>903
先に new FastHash.MD5FastHash(); を呼んだところ、結果は同じでした。
>>904
そうなんですかねえ。ううむ。
FastHash.MD5FastHashクラスを収めたソースファイルです
http://kashiwazaki.dyndns.ws/files/ppfx00005.zip
0906デフォルトの名無しさん
2005/12/12(月) 00:45:240907893
2005/12/12(月) 01:00:01それはもちろんです。
.NETのライブラリのメソッドに、nullでない引数を渡してNullReferenceExceptionが発生するなんて初めての経験でして、
気になってしまったです。
0908デフォルトの名無しさん
2005/12/12(月) 01:20:55.Net のライブラリの中にはWin32のAPIを簡単にラップしただけのモノが結構有ります。
ネイティブ側でWindowsの0xc0000005例外が投げられるとNullReferenceExceptionになります。
他の例としては例えばGDI+をラップしたGraphicsで多く発生します。
他のどんな例外がどんなExceptionにマッピングされてるのかは知りません。
どこかに資料あるのかな。
レス数が900を超えています。1000を超えると表示できなくなるよ。