2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

kintoneAdvent Calendar 2021

Day 7

kintone エラー発生プラグイン

Last updated at Posted at 2021-12-06

Advent Calendar ネタ用に作ったエラー発生プラグインをご紹介
イベント実行ログとエラーを発生させるだけという機能です。

エラー発生プラグイン概要

複数プラグインの動作を確認するため、エラー発生1プラグイン、エラー発生2プラグインと二つあります。
機能は、まったく同じものです。
プラグインは、インストール順が新しいものから順番に実行されます。

2021-12-04_20h02_07.png

プラグイン設定画面

イベント処理時のリターン情報の扱いとエラー発生のオプション指定があります。
オプションは、一つだけ有効にできます。
ちょっと便利なプラグインを流用したので、設定画面もほとんど一緒。

  • F01: return; // event 情報無しでリターン
  • F02: return null; // nullでリターン
  • F03: return false; // falseでリターン
  • F04: return "XXXX"; // "XXXX" でリターン
  • F05: return undefined; // undefined でリターン
  • F06: // return なし
  • F07: 未定義変数エラー
  • F08: 未定義変数エラーハンドリング

2021-12-08_23h22_38.png
2021-12-08_23h22_54.png

エラー発生ログ

レコード編集画面の実行ログです。
エラー発生1プラグインが、編集画面表示イベント内でエラーになり、後続のエラー発生2プラグインのイベント処理が実行されていません。
こんな感じで、プラグイン設定でプラグインの動作をログで確認できます。

2021-12-07_00h06_07.png

エラー発生処理概要

指定されたプラグイン設定によって、イベント処理の終了方法を変えるだけです。

エラー発生処理-抜粋.js
    "use strict";
    console.log('plugin1 start:');
...
    // 詳細画面、編集、追加画面
    kintone.events.on(["app.record.index.show","app.record.detail.show","app.record.edit.show","app.record.create.show"], function(event) {
        console.log('plugin1 event:', event);
        if (tinyInfosById.F01.state) {
            console.log('plugin1 event: 無しでリターン');
            return; // event 無しでリターン
        }
        if (tinyInfosById.F02.state) {
            console.log('plugin1 event: nullでリターン');
            return null; // nullでリターン
        }
        if (tinyInfosById.F03.state) {
            console.log('plugin1 event: falseでリターン');
            return null; // falseでリターン
        }
        if (tinyInfosById.F04.state) {
            console.log('plugin1 event: "XXXX" でリターン');
            return "XXXX"; // "XXXX"でリターン
        }
        if (tinyInfosById.F05.state) {
            console.log('plugin1 event: undefined でリターン');
            return undefined; // undefinedでリターン
        }
        if (tinyInfosById.F07.state) {
            xxxx; // 未定義変数エラー
        }
        if (tinyInfosById.F08.state) {
            try {
                xxxx; // 未定義変数エラーハンドリング
            }
            catch(err) {
                console.log('plugin1 error:', err);
            }
        }
        if (tinyInfosById.F06.state) {
            console.log('plugin1 event: return なし');
        }
        else {
            return event;
        }
    });
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?