質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

4回答

2079閲覧

throwsしているのにtry/catchの警告が出てしまいます

yuuki_nyanko

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2019/11/21 08:13

編集2019/11/21 14:02

eclipseを使い、Javaでシステムを作っています。

Aメソッドをthrowsしているのですが、Aメソッド呼び出すと「try/catchをしてください」と警告が出てしまいました。
様々なメソッド呼び出していますが、Bメソッドで呼び出した時だけ、その警告が出てします。今までの呼び出しには警告は出ていません。

この警告を出ないようにしたいです。
どうぞ宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/11/21 08:15

書いたコードと警告の内容は提示できないでしょうか?
kazto

2019/11/21 08:16

どうしたいのかが伝わりにくい内容になっています。 どうなって欲しいか(おそらく警告が出ないようにしたいのでしょう) 意に反して現在どうなっているか(try/catchの警告、だけでは通じません。エラー文を全文掲載してください) を記載するようにお願いします。
yoorwm

2019/11/21 08:19

というか、書かれている事からすると、throwしているだけでtry/catchしていない、という事ではないでしょうか?
quickquip

2019/11/21 08:20 編集

コードを書いている/コンパイルした時に警告が出ているのか、実行したときに何かが出ているのかも伝わってないです。
yuuki_nyanko

2019/11/21 08:23

伝わりにくく申し訳ございません。 業務的なものでしたので、コードを公開するのが難しいです。 また、警告は「処理されない例外の型 〇〇Exception(自作の例外処理)」 クイック・フィックスは 「スロー宣言の追加」 「try/catchで囲む」とあります。 この警告を出ないようにしたいです。 宜しくお願い致します。
azuapricot

2019/11/21 08:25 編集

コードを公開するのが難しいです は甘えですねぇ 自分で簡易的なサンプルコードをかけばいいだけのお話かと。 質問したい部分がわかってるなら 変数名をtest とかに変えたりしていくらでも質問はできると思います
m.ts10806

2019/11/21 08:26

業務的なものでこの内容で赤の他人を頼るのはどうなんでしょうか。新人さん、または未経験中途ですか? 「調べたらわかるよ」くらいでよければ応えますが
yuuki_nyanko

2019/11/21 08:33 編集

皆様ご指摘ありがとうございます。 ご指摘に対応出来ていませんが、 肝心な間違えがあり、 「throw」ではなく「throws」でした。 大変申し訳ございません。
cateye

2019/11/21 08:38 編集

〉「try/catchで囲む」とあります。 ・・・とゆうことならthrowが、try-catchの中にないだけ?、もしくは想定外の例外?でしょう。 throwしてる所や、想定外の例外のcatch忘れを調べましょう。
m.ts10806

2019/11/21 08:34

悪いのですが本当にそれはどうでもいい。 警告のメッセージくらい全文出せるのでは?
coco_bauer

2019/11/21 08:35

クイック・フィックスの「try/catchで囲む」という助言に従うのが賢いと思います。 「try/catchで囲む」が判らないのなら、Javaの教科書を最初から最後まで読み通すことをお勧めします。 判らなかったら、別の教科書や参考書を読みましょう。 Javaに関する知識が足りないというのが根本原因なのですから。 コードを示さずに解決を求めるのは、傲慢です。
quickquip

2019/11/21 08:38

情報はここに書かずに質問を編集してください。 コンパイルができない? のか、エディタ上で警告が出ている? のかそれすらわからないのです。 メッセージを正確に引用するとか、警告の部分だけスクリーンショットを取るとか、できるんじゃないですか?
guest

回答4

0

ベストアンサー

Eclipseが出している警告は極めて機械的に文法だけを見て出しているので、警告で出ている対応策を選んだだけでシステムが要件通り動くようになるとは限りません。
警告ループするときもあります。
一般的に「こうしたらいい」を提示したとしてちゃんと動くようになるかはまた別問題です。
「警告がでなくなればいい」という考えだけでは解決とはならないケースも多いんですよ。

となると、ロジックを見直すしかありません。
コードを出せないとなると、誰もその見直しに手をさしのべることはできないので、結局自前でやるしかなくなります。
(せめて現象再現できるミニマムコードでも組んで提示してもらえればいいんですけど)

職場なのであれば先輩や上司、同僚に聞くしかないでしょうね。

投稿2019/11/21 08:33

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

throwsは例外処理しなくて良くなる魔法の言葉ではありません。検査例外(RuntimeExceptionを継承していない例外)をthrows宣言しているならば、どこかでcatchする最後(通常ならmainメソッド)までthrows記述するかの2択です。

投稿2019/11/21 08:47

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

回答、ご指摘頂いた皆様、ありがとうございます。
ロジックを見直したところ、呼び出したメソッド側でthrowsをしておらず、そのため警告が出ていました。

また、ご指摘頂いたことに関しましては、ご回答できず申し訳ございません。

投稿2019/11/21 08:40

yuuki_nyanko

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

『あるメソッドでthrowで例外処理しています』という認識は間違っています。
throwで例外を発生させて、それを受けたcatchの中で例外の処理が行われるのです。
そのため、throwはtry句の中になければなりません。

プログラムが示されていないので具体的な指摘はできませんが、try句の中に入っていないthrowがないか確認してください。
あったら、そこから例外の処理が引き継がれている経路に沿ってプログラムの動作を確認してください。

投稿2019/11/21 08:19

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xebme

2019/11/21 10:53 編集

メソッドのthrows宣言だと思いますよ。<-- ベストアンサーが出た後の余計なコメントです。無視してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問