プロが教えるわが家の防犯対策術!

C#のtry-catchの中で使う自作メソッドAでcatchに飛ばすようなreturnの書き方がわかりません。
どのようなキーワードで検索したらよいのか思いつかず、質問しています。

たとえば
try {
 int a = A(i);
 if(a<60) msg("不合格”);
 :
}
catch{
 msg("不正な得点です");
}

で、気持ちとしては
int A(int i)
{
 if(i<0) return エラー;
 else if(i<60) return (i+36);
 else if(i<100) return(90+i/10);
 else return エラー;
}
で「エラー」の場合は、呼び出し側でcatchに飛ばしたいのです。

A 回答 (2件)

例外を発生させるならthrowでしょう。


throw new ExceptionClass();
で、呼び出し元を包む最も内側のcatchブロックまで飛ばされます。
    • good
    • 1
この回答へのお礼

素早い回答ありがとうございます。

throw new ExceptionClass();
ですね。

お礼日時:2017/10/28 12:02

else return エラー;の箇所を



throw new Exception();

としてください。例外を意図的に発生させます。
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます。

throw new Exception();
ですね。

お礼日時:2017/10/28 12:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A