springMVC による例外処理のサポート
どのようなプロジェクトを行っているかに関係なく、例外処理は非常に必要であり、プログラマのみが理解できる一部のエラーコードをユーザーにスローすることはできません。そのため、現時点では、統一された例外処理を実行して、よりわかりやすいエラーページを表示する必要があります。他の MVC フレームワークと同様に、springMVC にも独自の例外処理メカニズムがあります。 springMVC が提供する例外を処理するには、主に 2 つの方法があります。1 つは、独自の HandlerExceptionResolver を直接実装する方法で、もう 1 つは、Spring が提供する SimpleMappingExceptionResolver と DefaultHandlerExceptionResolver を使用する方法です。例外を処理する ExceptionHandler。
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; public class ExceptionHandler implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { // TODO Auto-generated method stub return new ModelAndView("exception"); } }
public class ExceptionHandler implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { // TODO Auto-generated method stub if (ex instanceof NumberFormatException) { //doSomething... return new ModelAndView("number"); } else if (ex instanceof NullPointerException) { //doSomething... return new ModelAndView("null"); } return new ModelAndView("exception"); } }
以下は簡単な例です:
(1) SpringMVCのサーブレット設定ファイルでSimpleMappingExceptionResolver Beanを宣言し、プロパティExceptionMappingsとdefaultExceptionViewを設定して例外とビューの対応関係を指定します
Xml代码
<bean> <property> <props> <prop>number</prop><!-- 表示当抛出NumberFormatException的时候就返回名叫number的视图 --> <prop>null</prop> </props> </property> <property></property><!-- 表示当抛出异常但没有在exceptionMappings里面找到对应的异常时 返回名叫exception的视图--> <property><!-- 定义在发生异常时视图跟返回码的对应关系 --> <props> <prop>500</prop><!-- 表示在发生NumberFormatException时返回视图number,然后这里定义发生异常时视图number对应的HttpServletResponse的返回码是500 --> <prop>503</prop> </props> </property> <property></property><!-- 表示在发生异常时默认的HttpServletResponse的返回码是多少,默认是200 --> </bean>
@Controller @RequestMapping("/test") public class TestController { @RequestMapping("/null") public void testNullPointerException() { Blog blog = null; //这里就会发生空指针异常,然后就会返回定义在SpringMVC配置文件中的null视图 System.out.println(blog.getId()); } @RequestMapping("/number") public void testNumberFormatException() { //这里就会发生NumberFormatException,然后就会返回定义在SpringMVC配置文件中的number视图 Integer.parseInt("abc"); } @RequestMapping("/default") public void testDefaultException() { if (1==1) //由于该异常类型在SpringMVC的配置文件中没有指定,所以就会返回默认的exception视图 throw new RuntimeException("Error!"); } }
nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <base>"> <title>My JSP 'number.jsp' starting page</title> <meta> <meta> <meta> <meta> <meta> <!-- <link rel="stylesheet" type="text/css" href="styles.css?1.1.11"> --> NumberFormatException. <br> <br> <br><span><!-- 这是JSP中的内置对象exception --></span> <br><span><!-- 这是SpringMVC放在返回的Model中的异常对象 --></span> <span><!-- HttpServletResponse返回的错误码信息,因为前面已经配置了NumberFormatException的错误码返回值为888,所以这里应该显示888 --></span>
以上がspringMVC による例外処理のサポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

プールの異常はゲームのサイド タスクです。多くのプレイヤーは、プールの異常のタスクを完了する方法を知りたがっています。実際には非常に簡単です。まず、受け入れる前に、水中での射撃のテクニックを習得する必要があります。タスクを実行し、悪臭の原因を調査します。後で、プールの下にたくさんの死体があることがわかりました。Rise of Ronin のプールでの珍しいタスクについてのこのグラフィック ガイドを見てみましょう。 Ronin Rise プールでの珍しいミッションのガイド: 1. 飯塚と話し、水中での射撃のテクニックを学びます。 2. 以下の図の場所に移動し、プール内の異常タスクを受け取ります。 3. ミッションの場所に行き、NPCに話しかけると、近くのプールで異臭が発生していることを知ります。 4. プールに行って調査します。 5.下の写真の場所まで泳いで水中に潜ると、大量の死体が見つかります。 6. カメラを使って死体の写真を撮ります。 7

今日は、MIT が先週公開した記事を紹介します。GPT-3.5-turbo を使用して時系列異常検出の問題を解決し、時系列異常検出における LLM の有効性を最初に検証しました。プロセス全体に微調整はなく、GPT-3.5-turbo は異常検出に直接使用されます。この記事の核心は、時系列を GPT-3.5-turbo が認識できる入力に変換する方法とその設計方法です。 LLM が異常検出タスクを解決できるようにするためのプロンプトまたはパイプライン。この作品について詳しく紹介していきます。画像用紙タイトル:Large languagemodelscanbeゼロショタノマリデテ

PHP 開発のプロセスでは、特殊文字の処理が一般的な問題になります。特に文字列処理では、特殊文字がエスケープされることがよくあります。その中でも、特殊文字を一重引用符に変換することは比較的一般的な要件です。これは、PHP では一重引用符が文字列をラップする一般的な方法であるためです。この記事では、PHP での特殊文字変換シングルクォーテーションの扱い方と具体的なコード例を説明します。 PHP では、特殊文字には一重引用符 (')、二重引用符 (")、バックスラッシュ () などが含まれますが、これらに限定されません。

例外処理と単体テストは、C++ コードの健全性を確保するための重要な実践です。例外は try-catch ブロックを通じて処理され、コードが例外をスローすると、catch ブロックにジャンプします。単体テストでは、コード テストを分離して、さまざまな状況下で例外処理が期待どおりに機能することを検証します。実際のケース: sumArray 関数は配列要素の合計を計算し、空の入力配列を処理するために例外をスローします。単体テストでは、配列が空の場合に std::invalid_argument 例外をスローするなど、異常な状況下での関数の予期される動作を検証します。結論: 例外処理と単体テストを活用することで、例外を処理し、コードのクラッシュを防ぎ、異常な状況下でもコードが期待どおりに動作することを保証できます。

JUnit は Spring プロジェクトで広く使用されている Java 単体テスト フレームワークであり、次の手順で適用できます。 JUnit 依存関係を追加します。 org.junit.jupiterjunit-jupiter5.8.1test テスト ケースを作成します。 @ExtendWith(SpringExtension.class) を使用して拡張機能を有効にします。 @Autowired を使用して Bean を注入し、@BeforeEach と @AfterEach を使用して準備とクリーンアップを行い、テスト メソッドを @Test でマークします。

C++ の例外処理は、特定のエラー メッセージ、コンテキスト情報を提供し、エラーの種類に基づいてカスタム アクションを実行するカスタム例外クラスを通じて強化できます。 std::Exception から継承した例外クラスを定義して、特定のエラー情報を提供します。カスタム例外をスローするには、throw キーワードを使用します。 try-catch ブロックでdynamic_castを使用して、キャッチされた例外をカスタム例外タイプに変換します。実際の場合、open_file 関数は FileNotFoundException 例外をスローします。例外をキャッチして処理すると、より具体的なエラー メッセージが表示されます。
