Thread 1:signal SIGABRT って何? ぱーと2

エラー


Thread 1:signal SIGABRT って?

でも、かいたけど、
このエラーは、かなりしんどい。

 

ここ最近の悩みの種になってる。(笑)

 

ネットにも、書籍にも、具体的な対策がないので、
自分なりに考えてみた。

 

Thread 1:signal SIGABRT

が表示されるのは、

・IBの関連づけを間違ってる。
・メソッドの順番が違ってる。
・注文の仕方がおかしい。

って場合に表示される、と感じた。

・IBの関連づけを間違ってる。

これは単樹なミス。
ボタンのクラスに、テキストを関連させたり、
テキストのクラスに、ピッカーを関連させたりなどなど。

 

・メソッドの順番が違ってる。

これは、ちょっとやっかい。
なぜなら、ソース上はエラーがでないからだ。

ぐずってる赤ちゃんの心理を読むようなもん(?)だろうか。

赤ちゃんならかわいいが、
ぐずってるプログラムはちっともかわいくない。

むしろ、だんだん、、

ガァー!!

とご近所迷惑してしまうかもしれないかもいやそこまではないかもしれないがあるかもだ(うざ)

ま、感じたこととしては、

自販機というプログラムがあったとする。

引数はお金
戻り値はジュース
ね。
もちろん、自販機プログラムはジュースがかえるわけだが、
1。お金(引数)を入れる。
2。飲みたいジュースのボタンをおす。
3。取り出し口からジュースをとる。

が基本的なながれなのだが、
1。飲みたいジュースのボタンをおす。
2。取り出し口からジュースをとる。
3。お金(引数)を入れる。

とか

1。取り出し口からジュースをとる。
2。飲みたいジュースのボタンをおす。
3。お金(引数)を入れる。
ってな感じで動くプログラムだと、目的のジュースは
飲む事ができない。

また、
お金(引数)が足りなくてもでない。
つまり、

プログラムの処理の順序が違ってる

プログラムに必要な引数が足りない。

などの場合に、エラーとなるのではないだろか。

 

・注文の仕方がおかしい。

これも、ちょっとややこしいが、ぐずるプログラムよりはまし。

扱うクラスやインスタンスが、処理したいプログラムにあってない場合(?)だと思う.

いうなれば、
ラーメン屋でお寿司を注文するような。
床屋で郵便物の配達を頼むとか。

お客さん、うちはラーメン屋だよ。
お寿司はないから!!

って言ってるようなもんだろか?
この場合はクラスとかメソッドを書き直したら直った。
もっとも、この場合、
エディタの左側にで表示される場合が
多いので、きっと気付きやすいかも。

 
以上、ビルドを実行時に
Thread 1:signal SIGABRT
が表示されてしまう件で、私なりに感じた、考えたことをまとめてみました。

 


« »